我正在使用以下Javascript代碼來驗證在提交表單之前至少有一個無線電輸入已被檢查,但我面臨一個問題,因爲即使沒有無線電,表單總是提交輸入檢查...可以有人請告訴我我在這裏失蹤以及如何解決它嗎?由於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"/>
顯然無線電輸入沒有檢查,這就是爲什麼顯然它沒有在我身邊工作,所以想知道有一種方法,我可以驗證從單選按鈕的第一個父跨度?
當沒有選擇任何東西時不會提交給我。http://jsfiddle.net/j08691/z22J4/。此外,在您提交表單後返回false也沒有意義。 – j08691
你運行的是什麼版本的jQuery?我似乎回憶起在':checked''年以前有問題,我現在無法使用最新的jQuery進行復制。 –
@ 75thTrombone我在我的問題中添加了一個小的編輯,解釋瞭如何使用Chrome開發工具檢查/取消選中廣播輸入時發現的html更改 – MChan