我有一个具有任意行数的表。每个表格的第一个单元格中都有一个图像,其中包含对 JavaScript 函数的 onclick 调用,以及一个包含行 ID 的隐藏字段。对 javascript 函数的调用如下所示:
<td>
<a href="#" onclick="doSomeAction(this); return false;" title="Do Something">
<img src="<?php echo($this->baseUrl());?>/images/btn_add.png" width="20" height="20" alt="Add" />
</a>
<input type="hidden" name="rowid[]" value="123" />
</td>
在我的 Javascript 中,我想检索 id[] 字段的值。我尝试按如下方式访问它:
var x = obj.parentNode.childNodes;
var i,j = x.length;
for ( i=0; i<j; i++ ) {
if ( 'rowid[]' == x[i].nodeName.toLowerCase() ) {
inp.value = x[i].value;
} else {
inp.value = 999;
}
}
在所有情况下,这都会返回 999 作为值,表明它无法找到子节点。这里什么地方做得不正确?
最佳答案
x[i].nodeName
是元素的名称,例如INPUT、A、TD、DIV 等。如果您想保留此路径,只需检查 .name
或 .getAttribute('name')
此外,x 可能应该是 obj.parentNode.parentNode.childNodes
,因为 ParentNode 是 A 标记。
关于Javascript定位隐藏字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5386214/