2017-12-06 8 views
0

選択ボックスでドロップダウンオプションをチェックする機能を作成しようとしました。ユーザは、提出する前にユーザ名を選択する必要があります。私は '0'を入れ、これが0であるかどうかをチェックしてからfalseを返しますが、うまくいきませんでした。選択チェックのためのJavascript機能が必要

ラジオボタンをチェックする機能が追加され、うまく機能しました。ただし、選択されたスタッフは機能しません。つまり、すべてのラジオボックスを確認した後に[送信]をクリックすると、とにかく送信されます。それを動作させるにはどうすれば修正できますか?

私を助けることができますか?

<script language="javascript"> 
function validateForm(daForm) { 
nCount = document.frmReport.txtCount.value; 
    // check all rb radio buttons 
    for (var i = 1; i < nCount; i++) { 
     if (! getCheckedRadioValue(daForm["Report"+i])) { 
      alert ("Please select a value for option " + i) 
      return false 
     } 
if (UserID.options[UserID.selectedIndex].value == 0) { 
       alert("Please select a user"); 
       return false 
    } 
    // add other checks here... 
       alert ("Thank you!") 
       window.open("Search.asp") 
    return true 
} 
<body> 
<form action="" method="post" id="newMenu" name="frmReport" onSubmit="return validateForm(this)"> 
    <select name="UserID"> 
      <option value=0>Staff name:</option> 
      <option value=1>Jenny</option> 
      <option value=2>David</option> 
    </select> 
    <input type="submit" value="Submit"> 
</form> 

ありがとうございました!

答えて

1

セレクタに問題があるようです。

"0"の値と比較するとうまくいくようです。私はこれを示すスニペットを含んでいます。要するに

、この

if (document.querySelector("[name='UserID']").value == 0) { 
    alert("Please select a staff"); 
    return false 
} 

if (UserID.options[UserID.selectedIndex].value == 0) { 
    alert("Please select a staff"); 
    return false 
} 

...これを変更する複数の選択を行い、結果を見るために提出します。

function validateForm(daForm){ 
 
    var select = document.querySelector("[name='UserID']") 
 
    
 
    if(select.value == 0){ 
 
    console.log("Please select a value"); 
 
    }else{ 
 
    console.log("Selection made."); 
 
    } 
 

 
    return false; 
 
}
<form action="" method="post" id="newMenu" name="frmReport" onSubmit="return validateForm(this)"> 
 
    <select name="UserID"> 
 
      <option value=0>Staff name:</option> 
 
      <option value=1>Jenny</option> 
 
      <option value=2>David</option> 
 
    </select> 
 
     
 
    <input type="submit"> 
 
</form>

+1

これは完璧に働きました。どうもありがとう! –

0

あなたはJavaScriptでそれにUserIDと作品を使用することはできません。これはselect要素の名前です。あなたがする必要があるのは、JavaScriptを使用してそれを選択し、それを使って作業することです。

var UserID = document.getElementsByName("UserID")[0]; 
if (UserID.options[UserID.selectedIndex].value == 0) { 
       alert("Please select a staff"); 
       return false 
    } 
    // add other checks here... 
       alert ("Thank you!") 
    return true; 
} 

<== Fiddle Me ==>

関連する問題