2013-03-05 48 views
0

我在頁面上使用了多個html。區分窗體 - jquery

<form id="form1"> 
<input type="text" name="foo" id="foo"> 
<input type="submit" value="submit"> 
</form> 

<form id="form2"> 
<input type="text" name="foo" id="foo"> 
<input type="submit" value="submit"> 
</form> 

當表單提交我訪問數據如下:酒吧

var bar=$(this).find('input[name=foo]').val(); 

這工作正常,但讓我們說,我想改變形式的數據傳回的HTML頁面後,我對處理提交的數據。我如何參考提交的表格?

喜歡的東西:

$(this).$('#foo').val('Hello'); 

這可能嗎?

謝謝!

+0

'$(本).find( '輸入[名稱= FOO]')VAL(「你好。 ');' – Musa 2013-03-05 23:35:13

+3

ID必須是唯一的。 – undefined 2013-03-05 23:35:17

+0

爲什麼你仍然不會參考'this'中的表單? – 2013-03-05 23:35:28

回答

0

如果這是一個Ajax調用,您可以在提交之前存儲形式的引用:

var form = $(this); 
$.ajax (...).done(function(){ 
    form.find(...).val (...) 
}); 
+0

奇妙 - 工作。我推測'$(this).find'只有在從窗體獲取值時纔有效。我不認爲這是一個參考。該聲明的'.find'部分究竟是什麼,以便我更好地理解這項工作。非常感謝! – user2056238 2013-03-06 00:21:23

+0

'find'部分是通過調用'$(this)'創建的jQuery對象的一個​​方法。 – 2013-03-06 00:35:54