我有一个带有数字选项的选择框。每当用户选择一个选项时,我会根据所选的数字通过jquery显示输入框。因此,输入框最初是隐藏的。现在的问题是,当我尝试发布那些输入框的值时,它们不会被发布。 这是html代码 -
<form action="data.php" method="POST">
Select the number of company:
<select name="num_of_comp" id="num_of_comp">
<option value="1">1</option>
<option value="2">2</option>
</select>
<div id="div1" style="visibility:hidden;">
<label for="dbname">database name:</label>
<input type="text" name="db1" id="db1" />
<input type="submit" name="submit" id="submit" />
</div>
<div id="div2" style="visibility:hidden;">
<label for="dbname">database name:</label>
<input type="text" name="db1" placeholder="db1 name"/>
<input type="text" name="db2" placeholder="db2 name"/>
<input type="submit" name="submit" id="submit" />
</div>
以下是动态显示输入框的脚本 -
$('#num_of_comp').on('change',function(){
if( $(this).val()==="1"){
$("#div1").css("visibility", "visible");
$("#div2,").css("visibility", "hidden");
}
else if( $(this).val()==="2"){
$("#div2").css("visibility", "visible");
$("#div1").css("visibility", "hidden");
}
这是php代码 -
$i = $_POST['num_of_comp'];
if($i == '1'){
$db1 = $_POST['db1'];
echo $db1;
这里我没有得到db1的值。 提前谢谢。
答案 0 :(得分:2)
您有两个名为db1
的输入。第二个值(不带id
的输入)覆盖第一个值(使用id="db1"
输入)。
答案 1 :(得分:2)
您不能为多个字段设置相同的ID,所有字段的ID都应该是唯一的。
所以为表格中的所有字段设置不同的ID
即使所有输入字段的名称在这里也应该是唯一的。
答案 2 :(得分:0)
这是你的问题
你对两个输入字段使用相同的id是错误的,页面中的每个id都应该是唯一的,否则你无法获得你期望字段的实际值,并使用正确的命名为那些id然后你不会错过那些问题和代码将清楚也使用名称属性的不同名称
<input type="text" name="db1" id="database1" />
<input type="submit" name="submit" id="submit" />
<div id="div2" style="visibility:hidden;">
<label for="dbname">database name:</label>
<input type="text" name="db2" id="database2" placeholder="db1 name"/>
</div>