2014-02-10 62 views
0

我很难找到任何关于此的东西,因为我无法考虑如何最初输入它。以下划线分隔的输入字符串形式

基本上我有一个表单,在HTML中,最终用户将提交一个值,例如“12345_54321”到1个输入字段中,然后进行处理。

我希望能够允许有2个输入字段,所以他们中的一个他们会输入“12345”,而在第二个输入字段中,他们会输入“54321”。

这似乎很容易,但我真正的需要是“_”必须用作分隔符,例如,当提交值时,它将处理“12345_54321”而不是“12345”和“54321”

我至今形式:

<form role="form" method="post" action="process.php"> 
<fieldset> 
<div class="form-group"> 
    <input size="18" type="visible" name="postid" id="postid" class="form-control" placeholder="Enter Story ID Here:" class="input-medium" ><input size="18" type="visible" name="postid" id="postid" class="form-control" placeholder="Enter Comment ID Here:" class="input-medium" > 
</div> 
    <input type="submit" name="submit" class="btn btn-primary btn-large" id="submit_btn" value="Process"/> 
</fieldset> 

+0

只需根据2个值构建该字符串?尽管如此,你确实需要赋予它们_different_ name属性,否则后面的属性会覆盖第一个属性。或者将它们命名为'postid []','var_dump($ _ POST)'以查看它的作用;) – Wrikken

回答

0

如果你想显示的故事ID 2个输入,你必须修改你的网页像这样(无需下划线(_ ):

<form role="form" method="post" action="process.php"> 
    <fieldset> 
    <div class="form-group"> 
     <input size="18" type="visible" name="story_id_1" id="story_id_1" class="form-control" placeholder="Enter Story ID Here:" class="input-medium" > 
     <input size="18" type="visible" name="story_id_2" id="story_id_2" class="form-control" placeholder="Enter Story ID Here:" class="input-medium" > 
     <input size="18" type="visible" name="comment_id" id="comment_1" class="form-control" placeholder="Enter Comment ID Here:" class="input-medium" > 
    </div> 
    <input type="submit" name="submit" class="btn btn-primary btn-large" id="submit_btn" value="Process"/> 
    </fieldset> 
</form> 

在你的process.php你可以通过查看你的POST来获得这些变量。

<?php 
$story_id_1 = ''; 
$story_id_2 = ''; 
$comment_id = ''; 

// Check for empty fields 
if(isset($_POST['story_id_1'])) 
    $story_id_1 = $_POST['story_id_1']; // From HTML Page 
if(isset($_POST['story_id_2'])) 
    $story_id_2 = $_POST['story_id_2']; // From HTML Page 
if(isset($_POST['comment_id'])) 
    $comment_id = $_POST['comment_id']; // From HTML Page 

print 'Story Id 1: '. $story_id_1 . '</br>'; 
print 'Story Id 2: '. $story_id_1 . '</br>'; 
print 'Comment Id: '. $comment_id . '</br>'; 
+0

错误理解,我不需要2个故事字段,在我的OP中,我提到“12345_54321”,12345是故事ID和54321是评论ID。 –

0

添加一个隐藏字段,其值将是两个输入字段的串联:

并提交,通过连接两个输入字段的值设置它的值:

<form role="form" method="post" action="process.php"> 
<fieldset> 
    <input type="hidden" id="theValue" /> 
    <div class="form-group"> 
     <input size="18" type="visible" name="postid" id="postid1" class="form-control" placeholder="Enter Story ID Here:" class="input-medium" onchange="concat();"> 
     <input size="18" type="visible" name="postid" id="postid2" class="form-control" placeholder="Enter Comment ID Here:" class="input-medium" onchange="concat();"> 
    </div> 
    <input type="submit" name="submit" class="btn btn-primary btn-large" id="submit_btn" value="Process" /> 
</fieldset> 

<script> 
// if no jQuery.....standard ECMAScript 
function concat() { 
    var val = document.getElementById('postid1').value + '_' + document.getElementById('postid2').value; 
    document.getElementById('theValue').value = val; 
    console.log(val); 
} 

+0

我会如何去做这件事? –

+0

看到我的编辑:) –

+0

这似乎并没有为我工作:( –