2011-02-24 54 views
1

看來,這個問題並沒有jquery相關,但相關的html:jQuery的不能在歌劇獲取表單數據

我呈現在錶行之間的形式。然後我嘗試渲染表格中的表格行。 Opera和Firefox只接受您在表單標籤之間呈現完整表格。

無效:

<form> 
<tr> 
<td></td> 
</tr> 
</form> 

<tr><form> 
<td></td> 
</form></tr> 

有效期:

<form> 
<table> 
<tr> 
<td></td> 
</tr> 
</table> 
</form> 

我不明白爲什麼在Opera和IE下面的代碼不工作...

$("#form_" + $(this).attr('id')).serialize(); 

我只通過獲取屬性來檢查它;工作
我檢查了我是否可以在沒有序列化的情況下獲取表單數據;工作

我該如何編碼?嘗試了很多組合和東西,但沒有任何作品..爲什麼這不是在歌劇中工作?在Chrome中我沒有問題...

要回答一些問題下面

我有我的頁面上有多個表單,每個都有一個唯一的ID(from_1,form_5等),我檢查了這一點,是正確的。當選擇發生變化時,表單數據需要被提取,所以數據調用被更改事件觸發。

+1

爲什麼你加前綴 「form_」 你的表格ID?因爲我可以看到這是你的形式。所以使用$(this).serialize() – CoolEsh 2011-02-24 15:24:47

+0

你的表單實際上是否有一個** id **屬性,看起來像「form_xxx」(其中「xxx」是'this'的id)?你確定你的「id」值在頁面上是** unique **(沒有兩個元素共享相同的id值)? – Pointy 2011-02-24 15:27:00

+0

@CoolEsh:那麼ID爲「calculation」的按鈕和ID爲form_calculation的窗體怎麼樣?我也在原帖中使用了很多 – DKSan 2011-02-24 15:28:46

回答

0

我發現了這個問題;

我在表格行之間呈現了表格。然後我嘗試渲染表格中的表格行。 Opera和Firefox只接受您在表單標籤之間呈現完整表格。

無效:

<form> 
<tr> 
<td></td> 
</tr> 
</form> 

<tr><form> 
<td></td> 
</form></tr> 

有效期:

<form> 
<table> 
<tr> 
<td></td> 
</tr> 
</table> 
</form> 
0

我想這個代碼在Opera 11.01:

<html> 
<head> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     function serializeFormData(formId) 
     { 
      var serializedData = $('#form_' + formId ).serialize(); 
      alert(serializedData); 
     } 
    </script> 
<body> 
    <form id="form_1" name="form_1"> 
     <input type="text" name="form_1_input" value="1" /> 
     <textarea name="form_1_textarea">1</textarea> 
     <a href="javascript:;" onclick="serializeFormData(1)">Serialize</a> 
    </form> 

    <form id="form_2" name="form_2"> 
     <input type="text" name="form_2_input" value="2" /> 
     <textarea name="form_2_textarea">2</textarea> 
     <a href="javascript:;" onclick="serializeFormData(2)">Serialize</a> 
    </form> 

    <form id="form_3" name="form_3"> 
     <input type="text" name="form_3_input" value="3" /> 
     <textarea name="form_3_textarea">3</textarea> 
     <a href="javascript:;" onclick="serializeFormData(3)">Serialize</a> 
    </form> 
</body 
</html> 

,一切工作正常,我!