Javascript定位隐藏字段

时间:2011-03-22 02:54:18

标签: javascript html

我有一个包含任意行数的表。在每个表的第一个单元格中是一个图像,其中包含对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作为值,表示它无法找到子节点。这里没有正确完成的事情?

3 个答案:

答案 0 :(得分:1)

x[i].nodeName是元素的名称,例如INPUT,A,TD,DIV等。如果您想沿着这条路走下去,请查看.name.getAttribute('name')

此外,x应该是obj.parentNode.parentNode.childNodes,因为parentNode是A标记。<​​/ p>

答案 1 :(得分:1)

如果循环中出现以下块,您可以为所有html元素分配ID,然后恕我直言,您只需要将该ID传递给您的JS方法
while a loop runs{ <td id="the-tr-$id"> <a id="the-tr-href-$id" href="#" onclick="doSomeAction(this, $id); return false;" title="Do Something"> <img id="the-tr-href-img-$id" src="<?php echo($this->baseUrl());?>/images/btn_add.png" width="20" height="20" alt="Add" /> </a> <input type="hidden" name="rowid[]" id="the-tr-input-$id" value="123" /> </td> }

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

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

答案 2 :(得分:0)

alwaysFalse = 'rowID[]' == anyString.toLowerCase()