Jquery - 动态表单元素未提交

时间:2011-07-28 19:27:23

标签: jquery forms post submit elements

我的问题是我创建了一个基本上像模式窗体对话框的jQuery演示的页面,除了在你添加了你想要的所有行之后,它将在最后提交它们。 之所以我不只是AJAX这个工作在创建行的地方工作它们是因为表单包含从PHP和PHP创建的动态行。 SQL链接到使用模态表单添加的行,并且在添加完所有行后需要处理。

表单页面有一堆使用PHP从1到X创建的行。

<table>
<form action="submitform.php" method="POST">
<input type="hidden" name="order" value="X">
<tr><td><input type="text" name="1" value=""</td></tr>
<div id="1"></div>
<tr><td><input type="text" name="2" value=""</td></tr>
<div id="2"></div>
<tr><td><input type="text" name="3" value=""</td></tr>
<div id="3"></div>
...
...
<tr><td><input type="text" name="X" value=""</td></tr>
<div id="X"></div>
</table>

更改文本字段后,弹出窗口会询问更多信息,然后在已更改的文本框下方添加行。 当弹出窗口完成时,上面的<DIV>标签使用jQuery填充额外的表单元素。

itemHiddenInfo = "<input type='hidden' name='"+temp2+"A"+x+"' value='"+itemNum+"_"+itemID+"'/>";
$( "#"+itemDiv ).append("<tr id='"+temp2+"_"+x+"R' class='"+temp2+"'>" +  
"<td>" + itemHiddenInfo + itemMat + "</td>" + 
"<td>" + itemQty + "</td>" + 
"<td>" + itemNote + "</td>" + 
"<td>" + "<button id='"+temp2+"_"+x+"' class='remmy'onclick=$('#'+this.id+'R').remove()>REMOVE</button>" + "</td>"+ "</tr>"); 

一切看起来都很棒,当他们想到并使用Firefox开发工具时,行会出现和消失,我可以看到DOM已被修改为包含我添加的所有元素,但是当我尝试提交时使用“SUBMIT”按钮或通过jQuery AJAX和.sequence()来收集表单元素,这两种方式都不会识别<DIV>中添加的任何新表单元素。

页面上用于显示模态表单的<DIV>是使用另一个PHP文件动态生成的,该文件使用$.get方法填充,结果填充表单<DIV> 。填写此表单的字段确实已提交,这就是为什么添加的其他字段看起来很奇怪。

我已经四处寻找,似乎我正在做正确的事,但它不想合作。 我是在尝试做一些不可能的事情,还是我在这里遗漏了什么?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

尝试使用livedelegate方法提交表单