单击添加选项,将创建名称为id1,id2,id3 .....的文本框。 但是当我要获取值时,它会给出一个错误"未定义的索引:id2"
<script>
var i=1;
function myFunction() {
i++;
var x = document.createElement("INPUT");
x.setAttribute("type", "text");
x.setAttribute("name", "id"+i);
elem = document.getElementById("hide_specific");
elem.appendChild(x);
}
</script>
<body>
<?php
$submission="";
if($_SERVER["REQUEST_METHOD"]=="POST"){$submission=$_POST["id2"];}
?>
<table>
<form action="" method="POST">
<tr>
<td>
<div id="hide_specific"><input type="text" name="id1" ><span onClick="myFunction()">Add</span></div>
</td>
</tr>
<tr> <td><input type="submit" name="set" value="Set"></td></tr>
<tr><td>
<?php echo $submission; ?></td></tr>
</form>
</table>
</body>
答案 0 :(得分:1)
在我的localhost中检查了这个问题,并使用了firebug ..发现表单在表中关闭(没有动态创建输入的表单,id2,id3等)。这就是为什么POST值没有得到。你的脚本绝对没问题。尝试在表格之前添加表单标记。代码如下所示
<body> <?php $submission=""; if($_SERVER["REQUEST_METHOD"]=="POST"){$submission=$_POST["id2"];} ?> <form action="" method="post"> <!-- ######### OPEN FORM TAG BEFORE TABLE --> <table> <tr> <td> <div id="hide_specific"><input type="text" name="id1" ><span onClick="myFunction()">Add</span></div> </td> </tr> <tr> <td><input type="submit" name="set" value="Set"/></td></tr> <tr><td> <?php echo $submission; ?></td></tr> </table> </form> </body>
答案 1 :(得分:0)
else
从输入NAME获取值而不是ID:)