我使用两个锚标记将控件转移到同一页面。并给出两个具有相同id但不同值的隐藏输入。如给定的代码所示。
<li data-icon="false"><a href="#paymentReceiptVoucher" onclick="loadAccForPayVoucher();">
<input type="hidden" id="PRVou" value="payment">PaymentReceipt Voucher</a></li>
<li data-icon="false"><a href="#paymentReceiptVoucher" onclick="loadAccForPayVoucher();">
<input type="hidden" id="PRVou" value="receipt">ReceiptPayment Voucher</a></li>
我希望使用以下javascript代码获取这些隐藏代码的值。
loadAccForPayVoucher = function() {
alert(document.getElementById('PRVou').value);
}
并始终提醒payment
。我怎样才能根据链接获得价值。感谢。
答案 0 :(得分:1)
id
属性都是唯一的。在给定id
的整个文档中应该只有一个元素。
为元素命名:
<input type="hidden" class="PRVou" value="payment">
然后使用getElementsByClassName
:
document.getElementsByClassName('PRVou')[0].value
答案 1 :(得分:1)
试试这个:
<li data-icon="false"> <a href="#paymentReceiptVoucher" onclick="loadAccForPayVoucher('payment');">
<!--<input type="hidden" id="PRVou" value="payment">PaymentReceipt Voucher</a> --></li>
<li data-icon="false"><a href="#paymentReceiptVoucher" onclick="loadAccForPayVoucher('receipt');">
<!-- <input type="hidden" id="PRVou" value="receipt">ReceiptPayment Voucher</a> --></li>
<script type="text/javascript">
loadAccForPayVoucher = function(type) {
alert(type);
//alert(document.getElementById('PRVou').value);
}
</script>
答案 2 :(得分:0)
在HTML中,ID属性始终是唯一的,因此当您调用document.getElementById
时,浏览器的DOM将会出去并获取具有给定ID的任何(很可能是第一个)元素。
给他们单独的ID,你的html将如下所示:
<li data-icon="false"><a href="#paymentReceiptVoucher" onclick="loadAccForPayVoucherPayment();">
<input type="hidden" id="PRVou-payment" value="payment"/>PaymentReceipt Voucher</a></li>
<li data-icon="false"><a href="#paymentReceiptVoucher" onclick="loadAccForPayVoucherReceipt();">
<input type="hidden" id="PRVou-receipt" value="receipt"/>ReceiptPayment Voucher</a></li>
然后你的JavaScript会有单独的事件处理程序:
loadAccForPayVoucherPayment = function() {
alert(document.getElementById('PRVou-payment').value);
}
loadAccForPayVoucherReceipt = function() {
alert(document.getElementById('PRVou-receipt').value);
}
更新:我让你成了小提琴:) http://jsfiddle.net/YCXC8/