2012-04-23 8 views
0

私はフォームにはあまり良くないし、単純な問題であるはずのことでかなりの困難を抱えています。選択肢を無効にした場合、フォームの送信を停止する

は、私は次のものが含ま形式になります。

 <select id="values" name="Choice"> 
      <option value="choose">Please Choose...</option> 
      <option value="01">Value 1</option> 
      <option value="02">Value 2</option> 
     </select> 

私がやりたいすべてがどちらも値-01または値-02が選択されているが、無効オプションが機能しない場合は提出からフォームを停止しています。

どうすればこの問題を解決できますか?

UPDATE:

私はすでに、フォームをチェックするためにJavaScriptを使用していますが、これは動作するようには思えません。

function submitForm() { 
     if (formObj.Choice.value == '') { 
      alert("Please select a value"); 
      return false; 
     } 
     return true; 
    } 

UPDATE 2:@ h4b0への答えに質問:formタグで

<input type="submit" value="Search" class="screen-reader-text button cf" name="SubmitButton" onclick="return submitForm();"> 
+0

どのように 'submitForm()'を呼びますか? 'selectedIndex == 0'を確認してみてください – maialithar

+0

@ h4b0 submitボタンのコードを表示するための質問が更新されました。私は 'selectedIndex = 0'をフォームとjsでどうやって組み込むのか分かりません –

答えて

1

、フォームが送信されると、それはJavaScriptを実行します

<form name='myForm' method='post' id='myForm' onsubmit='return submitForm()'> 
.... 
</form> 

ようなものを使用関数を呼び出して、結果の値をフォームに返します。それが本当であれば、データをポストします。結果が偽の場合、送信をキャンセルします。

送信ボタンには本当に近いですが、onclickをonsubmitに変更し、イベントタグをフォームタグに移動します。

[EDIT]

あなたのフォームを使用すると、選択中の値をチェックする方法とfalseを返すことはありません。オプションのどれもvalue = ''を持たないので、if文はtrueに評価されず、関数呼び出し元にfalseを返します。

+0

' 'option value =" choose "' 'option value =" "'ですべてをうまくやっています。クリーンで簡単な修正。 –

0

試してみてください。フォームを送信するときに、selectedIndexで条件を確認するメソッドを呼び出し、送信をキャンセルするfalseを返します。

<script> 
function validateMe(){ 
    var x=document.getElementById("Choice").selectedIndex; 
    var y=document.getElementById("Choice").options; 
    if(y[x] != "01"|| y[x] != "02"){ 
     return false; 
    } 
    return true; 
} 
</script> 
<form name="YourForm" id ="YourForm" onSubmit="return validateMe()"> 
<select id="values" name="Choice" id="Choice"> 
     <option value="choose">Please Choose...</option> 
     <option value="01">Value 1</option> 
     <option value="02">Value 2</option> 
    </select> 

<input type="submit" value="Search" class="screen-reader-text button cf" name="SubmitButton"> 

</form> 
+0

if文を変更する必要があります。私はあなたが探していると思います if(x!= "01" || x!= "02"){ – Goldentoa11

関連する問題