检查空的无线电输入

我想检查用户是否选择了一个单选按钮。 我编码了这个:

HTML

//etc

JS

  function sendSuccess(){ var len = document.formRate.ratingInput1.length; var flag; for(i=0; i<len; i++){ if (document.formRate.ratingInput[i].checked){ flag = true; } else{ flag = false; break; } } if(flag === false){ console.log('noooooo'); return false; }else{ console.log('yesssss'); } } 

但它不起作用。

工作演示 http://jsfiddle.net/cXPYQ/

希望这符合您的需求:) 代码

  $("form").submit(function () { var flag = true; $(':radio').each(function () { name = $(this).attr('name'); if (flag && !$(':radio[name="' + name + '"]:checked').length) { alert(name + ' group not checked'); flag = false; } }); return flag; }); 

您可以使用jQuery使用Attribute Equals Selector [name =“value”]来查找具有相同名称的单选按钮,并且:checked以仅获取已检查的元素。 您可以使用length来检查是否有任何选中的单选按钮。 如果选中一个或多个单选按钮,则选中单选按钮的length将为零,并且将大于零。

现场演示

 if($('[name=ratingInput1]:checked').length) console.log('Yes'); else console.log('No'); 

试试这个

 
function sendSuccess(){ var flag = false; var len = $('input:radio[name="ratingInput1"]:checked').size(); if(len == 0){ console.log('noooooo'); flag = false; }else{ console.log('yesssss'); flag = true; } return flag; }

它是一个带有单选按钮的简单表单,所以你只需要给表单命名formRate,而不需要jQuery,以下内容将有效

HTML

 

使用Javascript

 function sendSuccess() { rating = document.forms["formname"]["ratingInput1"].value; if(rating > 0){ console.log(rating); } else { console.log('No rating'); } return false; 

}

var flag = $('[name =“ratingInput1”]’)。is(’:checked’);

如果没有选择具有该名称的无线电,则返回false。