2011-08-10 30 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);