我正在使用Javascript动态创建表单中的输入字段。就像,如果用户输入3,我的脚本应创建3个输入字段,其名称属性为Member 1,Member 2和Member 3.如何使用DOM为这些元素设置name属性?如何使用post方法在PHP中从这些字段访问数据?
这是我的示例代码。
<?php session_start(); ?>
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function addFields(){
var number = document.getElementById("member").value;
var container = document.getElementById("container");
while (container.hasChildNodes()) {
container.removeChild(container.lastChild);
}
for (i=0;i<number;i++){
container.appendChild(document.createTextNode("Member " + (i+1)));
var input = document.createElement("input");
input.type = "text";
input.name = "Member"+i;
container.appendChild(input);
container.appendChild(document.createElement("br"));
}
}
</script>
</head>
<body>
<form action="create.php" method="post">
<h2>Create Document :</h2>
Document Description :<input type="text" name="document_description" >
Number of members: (max. 10)<input type="text" id="member" name="number_of_receipents" value=""><br />
<a href="#" id="filldetails" onclick="addFields()">Fill Details</a>
<input type="button" value="Fill Details" name="filldetails" onclick="addFields()">
<input type="submit" name="Submit" button="submit">
<div id="container"/>
</form>
</body>
</html>
答案 0 :(得分:1)
而不是将它们命名为Memberx
,而不是将它们命名为Member[]
,
然后$_POST['Member']
将返回所有提交值的数组
array (size=1)
'Member' =>
array (size=3)
0 => string 'Value1' (length=6)
1 => string 'Value 2' (length=7)
2 => string 'Value3' (length=6)
示例中的代码使用:
<?php
var_dump($_POST);
?>
<form method="POST">
<input type="text" name="Member[]" />
<input type="text" name="Member[]" />
<input type="text" name="Member[]" />
<button type="submit">GO</button>
</form>