2015-07-19 3 views
0

У меня есть эта JQuery Mobile Form, которая отправляет данные в базу данных MySQL. Я хотел бы проверить все поля по мере необходимости. Однако это не работает, и я не могу найти ошибку.Проверка формы JQuery не работает

Это первая часть формы. Я помещаю «обязательный» в поля ввода.

<form id="form-haftpflicht" method="post"> 
<div data-role="fieldcontain"> 
    <fieldset data-role="fieldcontain"> 
     <label for="versicherungsbeginn"><b>Versicherungsbeginn</b></label> 
     <input type="date" name="versicherungsbeginn" id="versicherungsbeginn" value="" required /> 
    </fieldset> 
    <fieldset data-role="fieldcontain"> 
     <label for="erwachsene" class="select"><b>Anzahl Erwachsene:</b></label> 
     <select name="erwachsene" id="erwachsene" data-role="none" required> 
      <option value="standard" data-placeholder="true">-- Bitte wählen --</option> 
      <option value="1">1</option> 
      <option value="2">2</option> 
      <option value="3">3</option> 
      <option value="4">4</option> 
      <option value="5">5</option> 
      <option value="6">6</option> 
      <option value="7">7</option> 
      <option value="8">8</option> 
      <option value="9">9</option> 
      <option value="10">10</option> 

     </select> 
    </fieldset> 
    <fieldset data-role="fieldcontain"> 
     <label for="kinder" class="select"><b>Anzahl Kinder:</b></label> 
     <select name="kinder" id="kinder" data-role="none" required> 
      <option value="standard" data-placeholder="true">-- Bitte wählen --</option> 
      <option value="1">1</option> 
      <option value="2">2</option> 
      <option value="3">3</option> 
      <option value="4">4</option> 
      <option value="5">5</option> 
      <option value="6">6</option> 
      <option value="7">7</option> 
      <option value="8">8</option> 
      <option value="9">9</option> 
      <option value="10">10</option> 

     </select> 
    </fieldset> 
</div> 

А вот мой скрипт с API

$(document).ready(function() { 

     $("#store-haftpflicht").click(function() { 
      $("#form-haftpflicht").submit(); 
     }); 
     $("#form-haftpflicht").submit(function (event) { 
      event.preventDefault(); 
      $("#ajax-loader").css("display", "block"); 
      $.ajax({ 
       url: 'http://app.lovanet.ch/app/store_haftpflicht.php', 
       data: $(this).serialize(), 
       method: 'POST', 
       success: function (data, status) { 
        $("#ajax-loader").css("display", "none"); 
       }, 
       error: function() { 
        output.text('Keine Prämien gefunden.'); 
       } 
      }); 
     }); 
    }); 
+0

ошибки консоли/JSfiddle/что-то? –

ответ

0

select считается пустым (и то недействительна, если поле является обязательным), если выбран параметр имеет пустое значение (""), но у вас есть значение ("standard").

Чтобы устранить проблему с проверкой, просто замените «стандартное» значение в первом варианте для «»:

<select name="kinder" id="kinder" data-role="none" required> 
    <option value="" data-placeholder="true">-- Bitte wählen --</option> 
    <option value="1">1</option> 
    <option value="2">2</option> 
+0

Хорошо, я изменил его, но все равно он представляет без ценности. однако у меня такая же проблема с полями ввода. мне нужен отдельный скрипт проверки? –

+0

Я протестировал код, который вы предоставили (http://jsfiddle.net/4qcqqrzf/), и он отлично работает с изменениями, которые я предложил (http://jsfiddle.net/4qcqqrzf/1/). Если другие поля не проверяются правильно, вы должны добавить их в вопрос, иначе ваш пример не будет завершен (прочитайте [Как создать минимальный, завершенный и проверяемый пример] (http://stackoverflow.com/help/mcve)) –

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