我有一个带有简单输入字段的表单,我有一个按钮,允许我通过javascript使用相同的名称添加另一个输入字段(例如:name =" list []") 。当我点击“添加'按钮输入多个电子邮件地址,它动态添加新的输入字段,但我遇到的问题是,当我将其发送到PHP脚本时,脚本只返回第一封电子邮件,而不是其他电子邮件。我有什么想法可能做错了吗?
-javascript under -
function preparePage() {
var addEmail = document.getElementById("add_email");
var putEmail = document.getElementById("put_email");
addEmail.onclick = function() {
putEmail.innerHTML += '<input type="text" name="names_list[]"><br />';
};
}
window.onload = function() {
preparePage();
};
下面的-html -
<form action="email_names.php" method="post">
<div id="put_email">
<input type="text" name="names_list[]"><br />
</div>
<div>
<div id="add_email"> + </div>
<input id="email_btn" type="submit" name="email_submit" value="E-mail List">
</div>
</form>
下面的-php脚本 -
if(isset($_POST['email_submit'])) {
$names_list = $_POST['names_list'];
echo '<pre>';
print_r($names_list);
echo '<pre>';
}
//This returns
Array
(
[0] => test@email1.com
)
// instead of
Array
(
[0] => test@email1.com
[1] => test@email2.com
[2] => test@email3.com
)
答案 0 :(得分:2)
<击>错别字?击>
<击>putEmail.innerHTML += '<input type="text" name="name_list[]" snip....
^^^^-- singular name: no "s"
<input type="text" name="names_list[]"><br />
^^^^^---plural names. WITH "s"
执行 var_dump($_POST)
会确认这一点。
现在我看到OP已经做了一个忍者编辑并修复了这个问题,所以猜不是......