2014-02-19 1 views
0

Я хочу, чтобы пользователь будет вынужден выбрать любой вариант из выпадающего списка, кроме значения по умолчанию «выбраны» вариантсила от <select> падения вниз, прежде чем отправить форму

вот мой ниспадающее меню кодов;

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

по какой-то причине он проверяет правильно, но форма ISNT представлена.

+0

вы хотите, чтобы php прекратил обработку? или представить форму? –

+0

лучший вариант, я думаю, будет для формы отправлять, но возвращать ошибку и фактически не запускать INSERT в часть базы данных страницы. Теперь свяжет код. –

+0

http://pastebin.com/wytVN6gv –

ответ

1

Вы можете сделать это с помощью jQuery на стороне клиента, но это не очень хорошая возможность проверить действия на стороне клиента.

Pastebin: 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/, но форма is not submit now when i select другое падение? –

+0

Удалить предложение else 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> 

Если пользователь нажимает представить без выбора, им будет предложено автоматически выбрать опцию. Ограничение заключается в том, что вы не получаете довольно маленькую «выбрать опцию».

Смежные вопросы