2013-04-11 39 views
0

我有哪裏的形式DOM對象被作爲arugument像JavaScript函數傳遞一個頁面上的多個形式:如何使用jQuery來訪問傳遞給JavaScript函數DOM對象

<form name="form1" method="post" action=""> 
     <input id="textfield1" type="text" name="textfield1"> 
     <input id="textfield2" type="text" name="textfield2"> 
     <input id="textfield3" type="text" name="textfield3"> 
     <input name="button" type="button" id="btn" value="Get Info" onClick="getdata(this.form)"> 
    </form><form name="form2" method="post" action=""> 
    <input id="textfield1" type="text" name="textfield1"> 
    <input id="textfield2" type="text" name="textfield2"> 
    <input id="textfield3" type="text" name="textfield3"> 
    <input name="button" type="button" id="btn" value="Get Info" onClick="getdata(this.form)"> 
</form> 
<form name="form3" method="post" action=""> 
    <input id="textfield1" type="text" name="textfield1"> 
    <input id="textfield2" type="text" name="textfield2"> 
    <input id="textfield3" type="text" name="textfield3"> 
    <input name="button" type="button" id="btn" value="Get Info" onClick="getdata(this.form)"> 
</form> 

function getdata(form){ 
    alert("the value is: " + form.getElementById('textfield1).value); 
} 

我將如何訪問DOM對象,通過getdata(表單),與jQuery?

我累了$(形式),但似乎只能訪問按鈕對象,而不是其他輸入形式。

感謝您的任何幫助。

回答

1

$(form)確實應該給你一個表單的jQuery引用,而簡單的form將是DOM節點本身。 Demo

對於你想acheive什麼,不過,你可能會更好傳遞一個DOM節點作爲上下文您選擇:

$('#li_address', form).val() 

但是,因爲你通過ID獲取元素,你不需要上下文 - 因爲你只有一個,對吧?但是使用DOM節點作爲上下文的合理演示是here

雖然您正在使用jQuery,但您可能需要從onClick進行切換,並在jQuery中處理事件綁定。請注意,我訪問所有按鈕.btn假設class="btn"而不是id="btn"。同樣,ID在整個文檔中應該是唯一的。不要偏離這一點。它會咬你。

$('form .btn').click(function() { 
    // this = button DOM node 
    var form = $(this).closest('form'); 
    form.submit(); // or whatever 
}); 
+0

謝謝你這是我一直在尋找的語法 – user2254532 2013-04-11 21:14:30

0

這將返回爲Form1

$('form[name=form1]').get() 

或所有形式

$('form').get() 

要訪問你可以訪問例如個人按鈕表單元素的DOM元素

$('form[name=form1] #btn') 
0

你可以試試ge像這樣的tData函數 -

form.fieldName.value 
相關問題