我在尝试将值传递到同一页面上的两种不同形式时遇到问题。该页面上装有16个单选按钮(出于显示原因,我将其变成了方框),它们都包含一个值(例如001)。这两个表单作业都将以某种方式获取活动/选定的单选按钮值并将其发布到PHP文件中,以便可以进行数据库更改。我使用锚来传递JavaScript提交功能,而不是使用提交按钮。我尝试过两种形式都可以覆盖整个页面,但是仍然没有运气。
我将在下面发布一些代码以帮助您理解。
PS。如果您需要更多代码来理解,我可以将其发布到pastebin。
<li>
<form id="form_ready" method="post" action="../backend/screen.php">
<input type="hidden" name="screenid" value="" />
<input type="hidden" name="status" value="" />
<input type="hidden" name="pickupid" value="document.activeElement.value;" />
<a onclick="document.getElementById('form_ready').submit();">READY</a>
</form>
</li>
<li>
<form id="form_c" method="post" action="../backend/screen.php">
<input type="hidden" name="status" value="" />
<input type="hidden" name="pickupid" value="document.activeElement.value;" />
<a onclick="document.getElementById('form_c').submit();">COLLECTED</a>
</form>
</li>
</ul>
<div id="content">
<div id="container">
<div id="table">
<div id="tr1">
<div id="td1">
<input type="radio" name="pickup" id="1" value="001" />
<label for="1"> <span>001</span> </label>
</div>
<div id="td2">
<input type="radio" name="pickup" id="2" value="002" />
<label for="2"> <span>002</span> </label>
</div>
<div id="td3">
<input type="radio" name="pickup" id="3" value="003" />
<label for="3"> <span>003</span> </label>
</div>
<div id="td4">
<input type="radio" name="pickup" id="4" value="004" />
<label for="4"> <span>004</span> </label>
</div>
要回答评论中的建议并仅使用一种形式,以下是从选定的单选按钮获取值的方法:
var inputs = document.getElementsByTagName('input');
var valueSelected;
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].checked) valueSelected = inputs[i].value;
}
valueSelected
将包含所选收音机的值。
如果仅出于某种原因需要将类型减小为“ radio”,则可以inputs[i]['type'] === 'radio'
在for循环中使用输入类型进行检查。
最好的办法仍然是为“无线电”输入设置一个类,这将使循环更具体,从而使代码更有效,例如:
<input type="radio" class="myRadio">
在JS中: var inputs = document.getElementsByClassName('myRadio');
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句