2011-07-28 499 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'不能以數字值開始 –

回答