Javascript 如何验证一组复选框并返回错误消息

Javascript 如何验证一组复选框并返回错误消息,javascript,html,validation,Javascript,Html,Validation,我有一个带有4个复选框的表单,如果没有选中任何复选框,我必须在提交表单时显示一条错误消息。这就是我到目前为止所拥有的,我只是不知道我会错在哪里 我是javascript新手。我已经用body标签验证了onload,我刚刚包括了必要的部分。提前感谢您的帮助 函数验证(){ var choice1=document.getElementById(“base_small”); var choice2=document.getElementById(“基\中”); var choice3=docume

我有一个带有4个复选框的表单,如果没有选中任何复选框,我必须在提交表单时显示一条错误消息。这就是我到目前为止所拥有的,我只是不知道我会错在哪里

我是javascript新手。我已经用body标签验证了onload,我刚刚包括了必要的部分。提前感谢您的帮助

函数验证(){
var choice1=document.getElementById(“base_small”);
var choice2=document.getElementById(“基\中”);
var choice3=document.getElementById(“base_large”);
var choice4=document.getElementById(“basexlarge”);
如果((选项1==)&&(选项2==)&&&(选项3==)&&(选项4==)){
警报(“请选择一个基地”)
返回false;
}
返回true;
}

请选择基本尺寸**:
小额5英镑
中等7.50英镑
大额10英镑
X-Large 12.50英镑

在JS中验证如下复选框:

if(!choice1.checked)
{
    alert('You must check a checkbox.');
    return false;
}

您的if条件应为:

if((choice1.checked="None")&&(choice2.checked="None")&&(choice3.checked="None")&&(choice4.checked="None"))
尝试以下方法:

  var choice1 = document.getElementById("base_small").checked;
  var choice2 = document.getElementById("base_medium").checked;
  var choice3 = document.getElementById("base_large").checked;
  var choice4 = document.getElementById("base_xlarge").checked;
 if ((choice1 == false) && (choice2 == false) && (choice3 == false) && (choice4 == false)) {
    alert("Please choose a base");
    return false;
  }

checked属性设置或返回复选框的选中状态。

请查找以下问题代码

/* GETTING ALL ELEMENTS INSIDE THE FORM */
var elements = document.getElementById("orderformbase").elements,
    isFormValid = false;
/* LOOPING ALL THE ELEMENTS INSIDE THE FORM */
for (var i = 0; i < elements.length; i++) {
  /* CHECKING WHETHER ITS RADIO BUTTON AND ITS CHECKED, TO MAKE THE ISFORMVALID VARIABLE TO TRUE */
  if (elements[i].type && elements[i].type == "radio" && elements[i].checked) {
      isFormValid = true;
      break;
  }
}
/* CHECKING WHETHER FORM IS VALID OR NOT USING ABOVE PROCESS, IF ITS NOT VALID, SHOW BELOW ERROR MSG */
if (!isFormValid) {
    alert("Please choose a base");
}

<div class="form1">
  <h3>Please select a base size**:</h3>
  <form id="orderformbase" class="orderbase" onsubmit="return validate()">
    <label class="block"><input type="radio" name="base"  value="base_small"    id="base_small">Small<span class="price"> £5</span></label>
    <label class="block"><input type="radio" name="base" value="base_medium" id="base_medium">Medium<span class="price"> £7.50</span></label>
    <label class="block"><input type="radio" name="base" value="base_large" id="base_large">Large<span class="price"> £10</span></label>
    <label class="block"><input type="radio" name="base" value="base_xlarge" id="base_xlarge">X-Large<span class="price"> £12.50</span></label>

<!-- form1 close -->
</form></div>
/*获取表单中的所有元素*/
var elements=document.getElementById(“orderformbase”).elements,
isFormValid=false;
/*循环窗体内的所有元素*/
对于(var i=0;i
要获得最简单的解决方案,请反复查看您的收音机并检查是否已选中


函数验证(){
var isValid=false;
var radioLength=document.getElementsByName('base').length;
对于(var i=0;i
您可以使用此按钮传递对表单的引用,然后使用选择器查看是否有选中的单选按钮:

函数验证(表单){
return!!form.querySelector('input[name=base]:checked');
};

请选择基本尺寸**:
小额5英镑
中等7.50英镑
大额10英镑
X-Large 12.50英镑

一种方法是使用按钮而不是表单提交

例如

<input type="button" />
输入[type=“button”]{
显示:块;
保证金:12px自动;
}
#orderformbase.0无效{
颜色:rgb(255,0,0);
}
#orderformbase.invalid字段集{
边框:1px实心rgb(255,0,0);
}

请选择基本尺寸**:
基本尺寸
小额5英镑
中等7.50英镑
大额10英镑
X-Large 12.50英镑

您检索复选框输入,但不验证其
选中的属性(布尔值)。这对您有帮助吗@AdamElsburyIt正在显示错误警报框,但在提交表单之前脚本正在运行,有什么想法吗?你是我的英雄。非常感谢!祝你有愉快的一天,我的朋友
<input type="submit" />