我有一個包含2個輸入字段的表單,其中一個是隱藏的,另一個是按鈕。當我點擊按鈕時,我需要獲取並將同一表單中的隱藏表單字段的值分配給另一個div。以相同的形式獲取其他表單輸入的值
如何遍歷dom以獲取特定表單域的值?我知道表單輸入字段名稱。 [編輯] - 我應該補充說,我有相同的元素,在同一頁上的多個窗體,所以我不能使用$(「input [name ='FORMELEMENT']」);因爲我有各種相同的表單名稱。我需要以與按鈕所在位置相同的形式查找表單元素的值。
我有一個包含2個輸入字段的表單,其中一個是隱藏的,另一個是按鈕。當我點擊按鈕時,我需要獲取並將同一表單中的隱藏表單字段的值分配給另一個div。以相同的形式獲取其他表單輸入的值
如何遍歷dom以獲取特定表單域的值?我知道表單輸入字段名稱。 [編輯] - 我應該補充說,我有相同的元素,在同一頁上的多個窗體,所以我不能使用$(「input [name ='FORMELEMENT']」);因爲我有各種相同的表單名稱。我需要以與按鈕所在位置相同的形式查找表單元素的值。
請注意,input
爲type="text"
,以便更容易看到更改。這並不影響它在現場示例中爲type="hidden"
,因爲它們的功能基本相同,除非一個不可見。
編輯 - 請注意,在實現console.log()
s未按預期工作後進行了更改。
<form>
<input type="text" name="myhidden" value="[placeholder]"/>
<input type="button" name="mybutton" value="Click me!" rel="the value to copy 1"/>
</form>
<form>
<input type="text" name="myhidden" value="[placeholder]"/>
<input type="button" name="mybutton" value="Click me!" rel="the value to copy 2"/>
</form>
<form>
<input type="text" name="myhidden" value="[placeholder]"/>
<input type="button" name="mybutton" value="Click me!" rel="the value to copy 3"/>
</form>
$(document).ready(function(){
$('input[name="mybutton"]').click(function(){
var $hidden = $(this).parent('form').find('input[name="myhidden"]');
console.log($hidden.val());
$hidden.val($(this).attr('rel'));
console.log($hidden.val());
});
});
$("#the-formid input[name=the-name-you-know]").val()
除非你真的想通過DOM遍歷,你最好只給表單元素的ID,這使得代碼更簡單,更可靠。
,然後將此功能添加到您的JavaScript文件
function copyFormValue(visibleID, hiddenID){
visibleElement = document.getElementById(visibleID);
hiddenElement = document.getElementById(hiddenID);
hiddenElement.value = visibleElement.value;
}
並調用該函數被點擊您的按鈕時。
onclick="copyFormValue('userName', 'userNameHidden');"
如果您使用的是jQuery,則不需要「遍歷DOM」這是jQuery中選擇器的要點。您可以選擇具體哪些元素(或元素,取決於)你正在尋找和處理它/他們。另一方面,純DOM方法通常歸結爲按類型獲取所有元素,然後查找更具體的匹配。在DOMland中,顯而易見的替代方法是將'id'用於'document.getElementById()'。 – 2012-01-08 14:53:47
查看我的更新後,您的編輯。 – 2012-01-08 15:01:13
請注意,我編輯了我的答案以修復'console.log'。 – 2012-01-08 15:18:32