2014-02-19 62 views
0

我希望用戶被迫選擇在下拉菜單中的任何選項下除了「選擇」默認選項力選項下來之前提交表單

這裏是我的下拉菜單中的代碼;

<form><label>Select Tank:</label> 
<select class="text2" name="tank" id="mySelect"> 
      <option value="0" selected="selected">Select your tank</option> 
      <option value="4"> Tank#1 </option> 
      <option value="9"> Tank#2 </option> 
      <option value="21"> Tank#3 </option> 
      <option value="34"> Tank#4 </option> 
     </select> 
<input type="button" id="btncheck" value="Submit"/> 
</form> 

這裏是我的java;

$('#btncheck').click(function(){ 
    if ($("#mySelect ")[0].selectedIndex <= 0) { 
     alert("Please select a tank from the menu!"); 
       return false; 
       } 
}); 

的jsfiddle:http://jsfiddle.net/36JZL/41/

由於某種原因,它正確地驗證,但提交的表單心不是。

+0

你想讓php停止處理?或形式提交? –

+0

我認爲最好的選擇是提交表單但返回錯誤,而不是實際運行INSERT到數據庫的頁面部分。現在將鏈接代碼。 –

+0

http://pastebin.com/wytVN6gv –

回答

1

你可以在客戶端使用jQuery來完成,但它不是一個很好的選項來驗證客戶端的東西。

引擎收錄:http://jsbin.com/zer/1

<form id="myForm"> 
<label>Select Tank:</label><br /> 
    <select class="text" name="tank" id="tankSelector"> 
     <option value="All" selected="selected"> Select Tank </option> 
     <?QUERY HERE TO PULL AND LOOP FROM DATABASE?> 
     <option value="<?php echo $row->id; ?>"> <?php echo $row->description; ?> </option> 
     <? END LOOP ?> 
    </select> 
    <input type="submit"> 
</form> 
<script> 
    $(function() { 
     $('#myForm').submit(function(e){ 
      if($('#tankSelector').val() == 'All') { 
       alert('Select tank!'); 
       e.preventDefault(); 
      } 
     }); 
    }); 
</script> 
+0

我用你的腳本無濟於事...但我確實嘗試了一些代碼:http://jsfiddle.net/36JZL/41/,但表單不提交現在當我選擇一個不同的下拉? –

+0

刪除整個else子句,您有錯誤並使用輸入類型提交。

+1

或使用:else { \t \t $(「form」)。submit(); \t} –

0
<label>Select Tank:</label><br /> 
<select class="text" id="seltank" name="tank"> 
    <option value="All" selected="selected"> Select Tank </option> 
</select> 
在您提交按鈕的客戶端點擊事件

添加一些JavaScript來檢查你的下降值下降。

if(document.getElementById("seltank").value == "All") 
{ 
    //put some code to alert the user or show error 
    return false; //this should prevent your post 
} 

類似的帖子在這裏How do I cancel form submission in submit button onclick event?

0

這是我做的:

<select class="text2" name="tank" id="mySelect"> 
    <option></option> 
    <option value="4"> Tank#1 </option> 
    <option value="9"> Tank#2 </option> 
    <option value="21"> Tank#3 </option> 
    <option value="34"> Tank#4 </option> 
</select> 

如果用戶點擊提交不進行選擇,他們會自動提示選擇一個選項。限制是你沒有得到一個漂亮的「選擇一個選項」佔位符。