我在表单中有以下两个字段:
<input type="button" value="Rep" id="rep" name="rep" style="width:50px" onclick="addRep()" />
<input type="hidden" value="<?php echo $comment_id; ?>" />
我需要获取表单中隐藏字段的值。所以我想使用一些函数来调用按钮旁边的隐藏字段字段。
我需要专门获取那个隐藏字段,它出现在按下按钮之后。
我不能使用像 getElementByID 这样的方法,因为我生成了许多具有相同 ID 的隐藏字段和按钮。(我用 PHP 动态生成它们)。
理论上,我认为我可以获得按下按钮的上下文(在捕获其事件之后),然后使用一些函数来查找表单中的下一个元素。
但我不确定该怎么做!
最佳答案
考虑一下您的按钮和隐藏元素之间可能有另一个元素。例如:
<input type="button" value="Rep" id="rep" name="rep" style="width:50px" onclick="addRep()"/>
<input type="text" id="someText" value="whatever"/>
<input type="hidden" id="someButton" value="anything"/>
在这种情况下,您可以通过执行一些检查来定位“最接近”已识别按钮的隐藏输入元素:
var rootNode = document.getElementById('rep'),
currentNode = rootNode.nextSibling,
closestHidden;
function check(node) {
return node.nodeType === 1 && node.localName === 'input' && node.type === 'hidden'
};
do {
if (check(currentNode)) {
closestHidden = currentNode; break;
}
} while (currentNode = currentNode.nextSibling);
alert(closestHidden.id);
关于php - 使用javascript获取表单中最接近的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8427371/