我使用以下Javascript代码来验证在提交表单之前至少检查了一个无线电输入,但是我遇到了一个问题,因为即使没有检查无线电输入,表单总是提交...可以有人请告诉我这里缺少什么以及如何解决它?感谢
<script type="text/javascript">
function processPayment() {
if ($("input[name='orderAmount']:checked").length > 0){
alert('OK');
document.getElementById('orderFrm').submit();
return false;
}
else{
alert('Please select order amount');
}
}
</script>
<div id="content">
<form id="orderFrm" name="orderFrm" action="https://...." method="post" target="_top">
....
<div class="orderamnt">
<label for="orderAmount50">
<span class="labelText">50</span>
<input type="radio" id="orderAmount50" name="orderAmount" value="50"/>
</label>
</div>
<div class="orderamnt">
<label for="orderAmount100">
<span class="labelText">100</span>
<input type="radio" id="orderAmount100" name="orderAmount" value="100"/>
</label>
</div>
<div class="orderamnt">
<label for="orderAmount200">
<span class="labelText">200</span>
<input type="radio" id="orderAmount200" name="orderAmount" value="200"/>
</label>
</div>
<a class="buyNowButton" href="javascript:{}" onclick="processPayment()">Order</a>
....
</form>
</div>
注意:
我在检查更改的任何单选按钮时注意到:
<div id="orderamnt">
<span class="">
<input type="radio" id="orderAmount200" name="orderAmount" value="200"/>
为...
<div id="orderamnt">
<span class="checked">
<input type="radio" id="orderAmount200" name="orderAmount" value="200"/>
很明显收音机输入没有检查过,这就是为什么显然它不能正常工作,所以想知道有没有办法可以通过单选按钮验证第一个父级?
答案 0 :(得分:0)
你需要使用is()
这样做if ($('input[name="orderAmount"]').is(':checked'))
{
}
答案 1 :(得分:0)
使用jquery 1.6.4或+,此代码正常运行!
$('.buyNowButton').click(function(){
if ($("input[name='orderAmount']:checked").length > 0){
document.getElementById('orderFrm').submit();
return false;
}
else{
alert('Please select order amount');
}
});