javascript - 验证单选按钮组

标签 javascript validation

function validate()
{
      var a = document.getElementById("a");
      var b = document.getElementById("b");
      var valid = true;


 if(a.value.length<=0 || b.value.length<=0 || a.value.trim()=="" || b.value.trim()=="")
       {
              alert("Don't leave the field empty!");
              valid = false;
       }

   if(isNaN(a.value) || isNaN(b.value))
    {
            alert("Enter a proper number!");
            valid = false;
    }

   for(var i=0; i<form.elements.length; i++)
   {
       if(form.elements[i].checked)
       {
                 valid = true;
       }
       else
       {
           alert("No option selected!");
           valid = false;
       }
    }
         return valid;
 };

这是我的 JavaScript 函数,用于验证一组单选按钮以检查是否至少选择了其中一个。而且,下面的是我的表格。

<form name="myForm" font-size="75px;" action ="serv" method="get" onsubmit="return validate();" >
        <hr/>
        Enter the 1st number: <input type="text" name="a" id="a" /><br/>
        Enter the 2st number: <input type="text" name="b" id="b"/><br/><br/>
        <label>Add</label><input type="radio" name="option" value="Add" id="r1" /><br/>
        <label>Subtract</label><input type="radio" name="option" value="Subtract" id="r2" /><br/>
        <label>Multiply</label><input type="radio" name="option" value="Multiply" id="r3" /><br/>
        <label>Divide</label><input type="radio" name="option" value="Divide" id="r4" /><br/>
        <input type="submit" value="Submit" />


</form>

当我给出输入并且没有选择单选按钮时,它应该提醒用户,但它没有发生。有人可以指导我哪里出错了吗?并帮我解决这个问题?我知道可能会有很多重复项,但我已经尝试过所有这些都无济于事。当我单击“提交”而不选择单选按钮时,它会给我一个空白页面。任何帮助表示赞赏。谢谢。

最佳答案

试试这个,在此处查看演示 Fiddle

function validate()
{
      var a = document.getElementById("a");
      var b = document.getElementById("b");
      var valid = true;

      if(a.value.length<=0 || b.value.length<=0 || a.value.trim()=="" || b.value.trim()=="")
      {
              alert("Don't leave the field empty!");
              valid = false;
      }

      if(isNaN(a.value) || isNaN(b.value))
      {
            alert("Enter a proper number!");
            valid = false;
      }

      var ele = document.getElementsByName("option");
      var flag=0;
      for(var i=0; i<ele.length; i++)
      {
        if(ele[i].checked)
        {
           flag=1;
           break;
        }
      }
      if(flag == 0)
      { 
         alert("No option selected!");
         valid = false;
      }
      return valid;
 };

关于javascript - 验证单选按钮组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18865385/

相关文章:

javascript - 如何在 Parse.com 中将数据保存到用户 session

ruby - 未显示载波错误消息

javascript - 当在输入字段中输入一定数量的字符时,如何使元素出现(例如勾号)?

validation - 使用 Kafka 和 Hadoop 进行数据摄取——如何避免质量检查失败导致的数据重复?

javascript - 如何在 onclick 函数之外声明按钮被单击

javascript - 如何在原型(prototype)中使用 periodicalupdater 更新 value 属性

javascript - 如果单击此选项 显示此选项 隐藏此选项

javascript - AWS 认知 : How should I handle PasswordResetRequiredException

validation - 如何分割训练和测试数据 - Tensorflow 上的 Keras

jquery - Bootstrap - 如何在回调验证中使用 ajax