0
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ラジオ ボタンのグループを検証して、少なくとも 1 つが選択されているかどうかを確認する機能です。そして、下が私のフォームです。

<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>

入力を行い、ラジオボタンが選択されていない場合、ユーザーに警告する必要がありますが、発生していません。誰かが私が間違っていた場所を案内できますか? そして、これで私を助けますか?多くの重複がある可能性があることはわかっていますが、それらすべてを試してみましたが、役に立ちませんでした。ラジオボタンを選択せず​​に送信をクリックすると、空白のページが表示されます。どんな助けでも大歓迎です。ありがとう。

4

1 に答える 1

2

これを試して、ここでデモを確認してください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;
 };
于 2013-09-18T06:56:11.723 に答える