2016-06-20 3 views
0

У меня есть форма, где я использую два окна выбора. Проблема в том, что она перенаправляет страницу, когда я нажимаю кнопку «Отправить», показывая требуемое полевое сообщение. Я хочу остановить перенаправление при нажатии кнопки «Пропустить», если значения выбора пусты и показать нормальное обязательное полевое сообщение. Я попытался использовать e.preventDefault(); также, но он все еще перенаправляет. Ниже приведен код:перенаправляет страницу, даже если поле выбора пуста

HTML КОД:

<select class="form-control input_wrap" name="answer[31]" id="property" required/> 
    <option value="">Select property type</option> 
    <option value="Independent House">Independent House</option> 
    <option value="Villa">Villa</option> 
    <option value="Individual Flat">Individual Flat</option> 
    <option value="Plot or Land">Plot or Land</option> 
</select> 

<select class="form-control input_wrap" name="answer[42]" id="jurisdiction" onchange='CheckColors();' required /> 
    <option value="">Select Jurisdiction</option> 
    <option value="1">1</option> 
    <option value="2">2</option> 
    <option value="3">3</option> 
    <option value="4">4</option> 
    <option value="Others">Others</option> 
</select> 


<button type="submit" class="btn btn-default proceed_btn">Proceed</button> 

JS КОД:

$('.proceed_btn').bind('click',function(e){ 
    // e.preventDefault(); 
    // e.stopPropagation(); 
    $(".select_wrap").bind('click', function(){ 
     if($("#property").val()==""){ 
      return false; 
     } 
     if($("#jurisdiction").val()==""){ 
      return false; 
     } 
    }) 
}) 

Просьба предложить какое-либо решение этой проблемы.

+0

напишите свой код в функции и назовите его

ответ

0

, пожалуйста, проверьте, если это поможет ~

$(document).ready(function() { 

      $('.proceed_btn').bind('click', function(e) { 

       // e.preventDefault(); 
       // e.stopPropagation(); 
       if ($("#property").val() == "") { 
        alert('Display what you want to say!!'); 
        return false; 
       } 
       if ($("#jurisdiction").val() == "") { 
        alert('Display what you want to say!!'); 
        return false; 
       } 
       alert('Ready to go~'); 

      }); 
     }); 
+0

Большое вам спасибо за помощь. Я сделал то же самое :) –

0

Эй, вы должны делать валидацию на уровне формы, а затем перенаправлять. Пример:

<!DOCTYPE html> 
    <html> 
    <body> 

    <p>When you submit the form, a function is triggered which alerts some text.</p> 

    <form action="demo_form.asp" onsubmit="return myFunction()"> 
     Enter name: <input type="text" name="fname"> 
     <input type="submit" value="Submit"> 
    </form> 

    <script> 
    function myFunction() { 
     alert("The form was submitted"); 
     return false; 
    } 
    </script> 

    </body> 
    </html> 

onsubmit Так вы можете проверить форму, а затем возвращает истину, если все в порядке. или, кроме того, ошибка в опции выбора и возврат false.

+0

есть ли другой способ? кроме этого ?? –

0

Вы не можете использовать кнопку тег с типом представить, потому что представить также отправить форму, и вы попробуйте

<button type="submit" class="btn btn-default proceed_btn">Proceed 

Вы можете использовать, как это

<button type="button" class="btn btn-default proceed_btn">Proceed</button> 

или

<input type="button" class="btn btn-default proceed_btn" value="Proceed"> 
+0

забыли закрыть тег Я использую этот способ только –

+0

Вы также используете type = "submit", то есть проблема – Aks

+0

use type = "button" instedof submit, если вы хотите событие click – Aks

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