php - 使用javascript动态添加表单元素——不提交

标签 php javascript jquery html

编辑:我从头开始解决了这个问题。很抱歉浪费你们的时间。如果您愿意,请投票结束。

当通过 javascript 添加输入字段时,我无法获取要提交的表单中的实际数据。字段显示在正确的位置,但是当我在服务器端执行 var_dump(fieldname) 时,没有显示任何内容。检查实时 HTTP header 告诉我浏览器没有尝试提交动态添加的表单字段。

我是否需要以某种方式将动态创建的表单输入“附加”到表单?

我的代码:

HTML

<form id="att_form" method="post" name="add_attachments" enctype="multipart/form-data" action="#">
<-- below input to prove form submits, just not the dyn added elements -->
<input name="data[one]" type="text" />
<div id="add_fields"></div>
<input type="submit" />
</form>

Javascript

function addFormField()
{
 var id = 1;
 var htm = "<p id='row" + id + "'><input type='text' size='20' name='txt[]' id='txt" + id + "' /></p>";
 $("#add_fields".append( htm );
}

当我提交表单时,名为 data[one] 的输入显示为 POSTd 值,但使用 addFormField() 添加的输入不会显示。它们出现在 HTML 中的正确位置,但不发布。我是否需要将该元素作为子元素附加到我的表单元素才能提交?

我看过 Submit form input fields added with javascript这就是我想到将数据专门附加到子表单的想法,但这需要对我的 CSS 进行一些重组。所以,我希望我可以在上面的代码中做一些简单的事情。

提前致谢!

编辑:修复了拼写错误,但仍然无法正常工作。我决定使用上面 SO 链接中讨论的库免费 JS 方法,因为它工作正常。感谢您的帮助!

最佳答案

您的代码中有 2 个拼写错误: htm 而不是 html

和添加字段/添加文件

关于php - 使用javascript动态添加表单元素——不提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1386228/

相关文章:

php - 检查 PHP 中的重复字母

php - 需要帮助将默认文本值插入 mysql

Javascript绑定(bind)函数实现

javascript - RequireJS - 嵌套的 require 调用,如何清理?

javascript - 使用 .html() 更新渲染 MathJax

php - 如何在页面刷新时保留归档数据

jquery - Accordion 无法处理我的所有数据

javascript - JQuery 的scrollTo 元素只工作一次

php - 将 PHP 响应输出为 XML

javascript - 从 mapbox 中删除 map 上的多段线