我有一个包含隐藏输入类型的单元格的表。你如何访问这个隐藏输入类型的值?
HTML表:
<table id = "tableId">
<tr>
<td>FirstName LastName</td>
<td><input type="hidden" value="userId" /><td>
</tr>
的Javascript
var table= document.getElementById("tableId");
var tblTR = table.getElementsByTagName("tr");
for (var i = 0; i<tblTR.length; i ++) {
var tr = tblTR[i];
var tds = tr.getElementsByTagName("td");
console.debug(tds[0]); //gets the whole cell
console.debug(tds[1].innerHTML); //gets content of cell, but not the actual value of the hidden input
}
使用第二个console.debug语句,我正在寻找的值是“userId”而不是
<input type="hidden" value="userId" />
根据我的理解,td element cannot have a value attribute,因此我不能只是做一个 tds [i] .value; 。
或者,是否有其他方法可用于存储此隐藏值?
答案 0 :(得分:2)
您需要走到输入标签本身
hiddenInputs = tds[1].getElementsByTagName("input");
console.debug(hiddenInputs[0].value);
或具有唯一的名称或唯一ID,然后您可以直接访问它。
<td><input type="hidden" id="inp1" value="userId" /><td>
document.getElementById("inp1").value
<td><input type="hidden" name="inp1" value="userId" /><td>
document.forms[0].inp1.value
答案 1 :(得分:1)
以下作品:
var inputs = document.getElementsByTagName('input');
for (i=0; i<inputs.length; i++){
if (inputs[i].type == 'hidden'){
alert(inputs[i].value);
}
}
我建议将inputs[i].value
分配给变量或数组,而不仅仅是alert()
:
var inputs = document.getElementsByTagName('input');
var values;
for (i=0; i<inputs.length; i++){
if (inputs[i].type == 'hidden'){
values = inputs[i].value;
}
}
答案 2 :(得分:0)
为您的输入标记命名
示例:
<input type="hidden" value="userId" name='userId'/>
然后你可以访问它:
<form ...name='theform'>
...
<input type="hidden" value="userId" name='userId'/>
...
</form>
Javascript
var value = document.theform.userId.value;
这应该做,你可以忽略表格单元格