使用javascript从多维数组文本框中获取价值

时间:2017-10-13 09:25:42

标签: javascript

我有一个动态生成的文本框列表,并以多维数组命名,以便稍后发布到php。

<input type="text" name="node['A11']['in']">
<input type="text" name="node['A11']['out']">
<input type="text" name="node['X22']['in']">
<input type="text" name="node['X22']['out']">
<input type="text" name="node['C66']['in']">
<input type="text" name="node['C66']['out']">

但是,在值发布之前,我正在尝试获取特定文本框的值并进行验证。

var nodeValue = document.getElementsByName("node['X22']['in']").value;
alert(nodeValue);

试过以上但是没有用。我可以知道是否有一种很好的方法来解析文本框列表并获取特定文本框的值,让我们说'X22' - &gt; '在'?

3 个答案:

答案 0 :(得分:0)

getElementsByName不返回单个元素,而是返回类似数组的对象。访问结果的[0]索引元素。

如果你有唯一的元素,最好通过返回单个元素的id(getElementById)来获取它们。

var nodeValue = document.getElementsByName("node['X22']['in']")[0].value
//                                                         ----^^^----
alert(nodeValue);
<input type="text" name="node['A11']['in']">
<input type="text" name="node['A11']['out']">
<input type="text" name="node['X22']['in']" value='SomeValue'>
<input type="text" name="node['X22']['out']">
<input type="text" name="node['C66']['in']">
<input type="text" name="node['C66']['out']">

答案 1 :(得分:0)

你需要一个值来获得一个

<html>
<head></head>

<body>
<input type="text" name="node['A11']['in']">
<input type="text" name="node['A11']['out']">
<input type="text" name="node['X22']['in']">
<input type="text" name="node['X22']['out']">
<input type="text" name="node['C66']['in']">
<input type="text" name="node['C66']['out']">
</body>

<script>

parse = function(){

var nodeValue = document.getElementsByName("node['X22']['in']");
console.log(nodeValue[0]);//to demonstrate that a nodelist is indeed returned.

}

parse()

</script>


</html>

答案 2 :(得分:0)

您可以使用id属性并为其指定标识符。

&#13;
&#13;
var nodeValue = document.getElementById("X22in").value;
console.log(nodeValue);
&#13;
<input type="text" id="X22in" name="node['X22']['in']" value="foo">
<!--               ^^^^^^^^^^                                   -->
&#13;
&#13;
&#13;