2011-07-28 283 views
0

我的问题是,我做了一个页面工作,基本上像一个模式对话框的jQuery演示,除了你添加了所有你想要的行之后,它会提交它们最后。 原因我不只是AJAX这个工作,因为行被创建它们被保存,是因为表单包含动态行创建从PHP & SQL链接到使用模式形式添加的行并需要一旦添加了所有的行就会被处理。Jquery - 动态表单元素不提交

表单页面有一堆行使用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>使用被使用$.get方法的结果填充形式<DIV>填充另一个PHP文件动态地生成的。填写在这个表单上的字段确实被提交,这就是为什么其他字段添加的字段看起来很奇怪。

我周围搜索,似乎我正在做的一切正确,但它不想合作。 我是在做一些不可能做的事吗?或者我在这里错过了什么?

任何帮助是极大的赞赏。

+0

你能证明你是如何以一种方式提交它 – Rafay

+0

我使用一般的HTML提交像这样 '<形式名称=“翻新”的方法=“后“行动=” submitform.php>' 在另一个尝试通过我按钮按压使用jQuery的AJAX '<形式名称= “翻新” 方法= “POST” 的onSubmit = “返回submit_form();”>' 的javascript函数低于我用来提交 函数submit_form(){ \t var str = $(“form”)。ser ialize(); \t alert(str); \t \t $阿贾克斯({ \t \t类型: “POST”, \t \t网址: “add_line_quickselect_room.php”, \t \t数据:STR, \t \t成功:功能(数据){ \t \t \t警报(data); \t \t \t //window.location.href =“pre_inspect。PHP的“; \t \t} \t}); \t回假。 }'' – Adam

+1

属性id'不能以数字值开始 –

回答