我正在尝试javascript检查是否在其他单选按钮中选中了特定的单选按钮。
检查任何单选按钮是否完美运行的验证方法:
这是包含单选按钮的HTML代码片段:
<form id = "buy" name = "buy" onsubmit = "return valiform()">
<input type="radio" name="Card_type" value="visa" > Visa </input>
<input type="radio" name="Card_type" value="mastercard" > Mastercard</input>
<input type="radio" name="Card_type" value="paypal" > Paypal </input>
<input type="submit" value="Confirm order">
</form>
这是关于单选按钮的Javascript代码片段:
<script type = "text/javascript">
function valiform(){
var visa = document.buy.Card_type;
var mastercard = document.buy.Card_type;
var paypal = document.buy.Card_type;
var message = "Error!\n";
function validateRadio (radios)
{
for (i = 0; i < radios.length; ++ i)
{
if (radios [i].checked) return true;
}
return false;
}
if(validateRadio (document.buy.Card_type))
{
}
else
{
message+= "Please select card.\n";
}
if(message != "Error!\n"){
alert(message);
return false;
}
}
</script>
到目前为止代码工作正常,但我希望代码检查是否选择了Paypal单选按钮。如果不引发错误,我无法做到。任何想法怎么做?
答案 0 :(得分:1)
首先将paypal行更改为:
<label><input id="paypalRadio" type="radio" name="Card_type" value="paypal"> Paypal </label>
这使用此代码,如果选中给定的单选按钮,它将返回true:
document.getElementById('paypalRadio').checked
或者您可以在不改变任何内容的情况下执行此操作:
$("td[name=Card_type]")[2].prop("checked", true)
答案 1 :(得分:0)
您可以true
返回已选中按钮的值,而不是只返回validateRadio()
。然后,您可以将其分配给变量。
var selected = validateRadio(document.buy.Card_type);
if (selected == 'paypal') {
...
}
答案 2 :(得分:0)
<input type="radio" name="Card_type" value="visa" > Visa </input>
无效html
; <input>
是empty element,其中不允许使用内容。您可以使用附加到.addEventListener()
元素submit
,<form>
,.querySelectorAll()
的{{1}},Array.prototype.some()
事件,检查结果2
处的元素{1}}确定.querySelectorAll()
元素是否input
等于value
"paypal"
&#13;