【问题标题】:Javascript Dynamic HTML Inputs to POST via PHP (Need to rename field's per added input)通过 PHP POST 的 Javascript 动态 HTML 输入(需要为每个添加的输入重命名字段)
【发布时间】:2012-03-09 19:00:38
【问题描述】:

我看到了一些类似但不够具体的问题。这个 - Submit form input fields added with javascript - 是最接近的比较,但对我来说是压倒性的(不是真正的 javascript 人)。

我正在尝试动态添加输入,这些输入通过 PHP 在下一页上独立发布。我的代码如下(我在谷歌上找到的)。

表格页面

<script language="javascript">
fields = 0;
function addInput() {
if (fields != 19) {
document.getElementById('text').innerHTML += "<li>Link Title:<br /><input type='text' name='title' /><br />Link Address:<br /><input type='text' name='name' /><br />Description:<br /><input type='text' name='copy' /></li>";
fields += 1;
} else {
document.getElementById('text').innerHTML += "<br />Only 20 data entries allowed.";
document.form.add.disabled=true;
}
}
</script>

<form name="form" action="form.php" method="post">
<ul class="form">
<li>
Link Title:<br /><input type="text" name="title" /><br />
Link Address:<br /><input type="text" name="name" /><br />
Description:<br /><input type="text" name="copy" />
</li>
<div id="text">

</div>
</ul>
<input type="button" onclick="addInput()" name="add" value="Add input field" /> <input type="submit" value="Submit" />
</form>

POST PAGE - 由于所有字段都使用名称“标题”,因此不确定从哪里开始? - 不过,我会接受这个页面的。

<?php

    echo $_POST['title'];

?>

【问题讨论】:

  • 尝试将它们命名为数组,例如 name="title[]" 然后在 php 中尝试将数据打印出来,如 print_r($_POST['title']),您将看效果 /edit 也可以将变量fields 放入输入名称中,但是提交后会比较难处理

标签: php javascript html


【解决方案1】:
innerHTML += "<li>Link Title:<br /><input type='text' name='title' /><

如果您将最后一位更改为

name='title" + fields + "' /><

(注意第二个撇号的去向)然后他们获得唯一的名称 title0、title1、title2...

【讨论】:

  • 好像不行。当我尝试回显标题时,它们会打印第一个输入,但其他输入有错误“注意:未定义索引:标题2”
  • 编辑 - 没关系,这确实有效,我只是将它添加到第一个输入(不是 javascript 的一部分)。
猜你喜欢
  • 2013-05-12
  • 2021-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-10
  • 1970-01-01
  • 2012-01-03
相关资源
最近更新 更多