Javascript查找隐藏字段

Javascript查找隐藏字段,javascript,html,Javascript,Html,我有一个任意行数的表。在每个表的第一个单元格中,都有一个带有对javascript函数的onclick调用的图像,以及一个带有行ID的隐藏字段。对javascript函数的调用如下所示: <td> <a href="#" onclick="doSomeAction(this); return false;" title="Do Something"> <img src="<?php echo($this->baseUrl());?

我有一个任意行数的表。在每个表的第一个单元格中,都有一个带有对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;
    }
}
var x=obj.parentNode.childNodes;
var i,j=x.长度;

for(i=0;i
x[i]。nodeName
是元素的名称,例如INPUT、A、TD、DIV等。如果要保留此路径,只需选中
.name
.getAttribute('name')


另外,x可能应该是
obj.parentNode.parentNode.childNodes
,因为parentNode是A标记。

如果下面的块出现在循环中,您可以将ID分配给所有html元素,然后是IMHO,您只需要将该ID传递给ur JS方法
alwaysFalse = 'rowID[]' == anyString.toLowerCase()
循环运行时{
}

在您的方法中,您可以执行
document.getElementById()


我建议将ID分配给所有html元素,如果它看起来太多,那么重要元素确实需要ID,这总是有帮助的。

您是否在复制
rowID[]
作为多行的值?ID必须是唯一的。是的,但您可以这样做以获得字段数组。您的if条件是将其转换为小写,而您的ID是大写的。@Elie只显示名称,不显示ID,如果我没有弄错的话,这只适用于服务器端代码,如PHP,而不是JavaScript。The[]piece代表的是名称,而不是ID,以便在将其传递到服务器时可以获取数组。我的帖子中出现了转录错误,现在正在更正。在我的原稿中,带引号的字符串都是小写的。尝试了两种方法-检查该项是否为输入元素,以及检查getAttribute('name'))。我还尝试检查父级的两个级别,但似乎都不起作用。更不用说我的最后一条评论了-我强制它上移到行,然后再下移(因此parentNode.parentNode.cells[0])感谢您提供了另一种解决方案——当然,能够将id作为值传递给函数意味着我可以始终确保得到正确的值,并且更加优雅。