2016-12-15 75 views
1

我在同一頁上有兩種形式。在這兩種形式中都有一個同名的文本字段。如何使用formID獲取輸入文本值?

我試圖從兩種形式之一讀取文本字段的值。如果我正在嘗試使用下面的代碼讀取值,我正在獲取該值。但我不確定它從哪種形式返回價值。

document.getElementById("groupId") 

現在,如果我試圖從下面的代碼中讀取特定形式的值,我收到錯誤。

document.forms["form1"].getElementById("groupId") 

請建議我在做什麼錯,我們如何讀取控件的值?

我可以同時使用javascript和jquery。

回答

3

由於您使用jQuery的你可以這樣做:

$('[name=form_name]').find('#field_id'); 

你的情況如:

$('[name=form1]').find('#groupId'); 

使用純JS,你可以做到這一點,如:中

document.form_name.getElementById("field_id"); 

樣品你的情況:

document.form1.getElementById("groupId"); 

希望這會有所幫助。

2

您可以使用jquery執行以下操作。

var element = $(document.forms["form1"]).find('#groupId') 

而要獲取文本值,您可以使用val函數。

var text = element.val(); 
2

如果我試圖讀取使用下面的代碼我得到的數值的數值。但我不確定它從哪種形式返回價值。

這意味着你有多個元素相同的id這是一個很大的NO。 id's在整個HTML中應該是唯一的。如果由於某種原因,你想用同一id上的多個元素通過分配相同class的元素和class

訪問與JavaScript的工作意識到同樣的任務,可以這樣說,改變你的HTML沒有重複id,並將它們改爲擁有一個共同的類。現在有了這個結構,你可以訪問該元素從from開始像下面

$('form[name="form1"]').find('input.ClassName').val()

Also for info purpose:如果你在你的HTML具有相同id多個元素,當您嘗試訪問由id的元件,其放置從頂部解析頂部將始終被選中。

+1

Upvoted是指出共享表單元素ID問題的唯一答案。 –

0

W3C standards for HTML要求id在文檔中是唯一的。

+0

謝謝。我同意。它的一些運行混亂的代碼,我正在處理:) –

+1

然後,你需要像這樣:'code' document.form1.getElementById(「groupId」)。val(); – gjegadesh