2011-08-10 28 views
1

如果標題有點不具描述性,請原諒。這是我在做什麼。即時通訊使用JavaScript製作動態文本框。例如我添加一行到表,給文本框的名稱爲實例tname,我想讓每個文本框都是唯一的,所以我在它的末尾添加一個行號,所以文本框名稱是tname1,接下來是tname2。 ..等等。現在我想創建另一個函數來遍歷這個表來獲取所有的值。這裏是代碼即時獲取下面的文本框的值。我沒有把for循環b/c我知道循環工作,b/c我得到了正確的行數。使用javascript獲取動態文本框名稱

txt = document.getElementById('tname' + a) 
alert(txt.value) 

我知道有你把周圍這樣的功能:(「TNAME」 + A),讓JavaScript的知道你在一起相連來二/三我做到了以前只是記不起功能。如果有任何幫助,將非常感謝

+0

發佈完整的代碼。 –

回答

2

如果您分配了ID(未命名),那麼髒的純JavaScript的解決辦法是:

var a = 1; 
while (true) { 
    var id = 'tname' + a; 
    var txt = document.getElementById(id); 
    if (txt == null) 
     break; 
    alert("value of " + id + " is: " + txt.value); 
    a++; 
} 

這將繼續尋找元素,直到它找不到 - 希望這是有道理的。

2

您需要使用ID和姓名。例如,

<input type="text" name="tname1" /> 

應該

<input type="text" name="tname1" id="tname1"/> 
1

你試過:

var els = document.getElementsByName(...); 
// Or if you only focusing on newer browsers: 
var els = document.querySelectorAll(..); 

// els is now a HTMLCollection/NodeList 
console.log(els[0].value);