2016-09-11 9 views
-3

ラジオボタンを検証する必要がありますが、問題の原因がどこにあるのか分かりません。ラジオボタンの検証が機能しない

基本的に言えば、送信するとフォームとそのフィールドがすべて検証されません。 .jsファイルからフォームが正しく検証されるため、問題を引き起こしているのはこの関数なのです。

は、以下のラジオボタン

<tr> 
    <th align="left">Driver Required: </th> 
    <td> 
     <input type="radio" name="Driver" value="Yes" id="radio_error"> Yes 
    </td> 
</tr> 
<tr> 
<td><br></td> 
<td> 
    <input type="radio" name="Driver" value="No" id="radio_error"> No 
</td> 
</tr> 
<tr><th><br></th></tr> 
    <tr> 
     <th align="left">Insurance: </th> 
     <td> 
      <input type="radio" name="Insurance" value="None" id="radio_error"> None 
      </td> 
    </tr> 
    <tr> 
     <td><br></td> 
     <td> 
      <input type="radio" name="Insurance" value="CDW" id="radio_error"> Collision Damage Waiver 
      <br> 
      <input type="radio" name="Insurance" value="LI" id="radio_error"> Liability Insurance 
      <br> 
      <input type="radio" name="Insurance" value="PAI" id="radio_error"> Personal Accident Insurance 
      <br> 
      <input type="radio" name="Insurance" value="PEC" id="radio_error"> Personal Effects Coverage 
     </td> 
    </tr> 

次のコード行.jsファイルからあるを含む私のHTMLファイルの一部です。私は確かに問題ではないことを確認関数を持っています。

function checkDriverRadio() 
{ 
    var yesOrNo = ""; 
    var len = document.ClientForm.Drvier.length; 
    var i; 

    for (i = 0; i < len; i++) 
    { 
     if (document.ClientForm.Drvier[i].checked) 
     { 
      yesOrNo = document.ClientForm.Driver[i].value; 
      break; 
     } 
    } 

    if (!document.ClientForm.Driver.checked) 
    { 
     document.getElementById("radio_error").innerHTML = "No option selected"; 
     return false; 
    } 
    else 
    { 
     document.getElementById("radio_error").innerHTML = ""; 
     return true; 
    } 
} 

function checkInsuranceRadio() 
{ 
    var option = ""; 
    var len = document.ClientForm.Insurance.length; 
    var i; 

    for (i = 0; i < len; i++) 
    { 
     if (document.ClientForm.Insurance[i].checked) 
     { 
      option = document.ClientForm.Insurance[i].value; 
      break; 
     } 
    } 

    if (!document.ClientForm.Insurance.checked) 
    { 
     document.getElementById("radio_error").innerHTML = "No option selected"; 
     return false; 
    } 
    else 
    { 
     document.getElementById("radio_error").innerHTML = ""; 
     return true; 
    } 
} 
+0

いただきましdocument.ClientForm.Drvier.lengthとアップ。 ? – John

+0

私はあなたを助けるためにもっとコアを見る必要があります – John

+0

@ジョンこれは、問題をインデントするので、ここでフルファイルを持っている面倒です。私はおそらくonedriveまたはdropboxファイルをリンクすることができます。 –

答えて

0

私はスペルミスのエラーがあると思います...

if (document.ClientForm.Drvier[i].checked) 
    { 
     yesOrNo = document.ClientForm.Driver[i].value; 
     break; 

は....あなたのファイル名はDrvierドライバーではありません。 私はこれが役立つことを願っています。

0

すべてのラジオボタンが同じIDを持っていることを理解しています。ラジオボタンはname="someName"でグルーピングされています。他の回答に記載されているように、私はこのフィドルで簡単な検証を作成しました。

https://jsfiddle.net/mr_odoom/17xwdL79/

関連する問題