2015-10-20 2 views
0

Я думал, что Data-Parsley должен прекратить отправку формы при обнаружении ошибок. Когда я отправлю следующую форму, я коротко вижу ошибки, попадаемые в data-parsley, но затем действие формы продолжается. Что мне здесь не хватает?данные петрушки не остановить форму отправить

<div id="registerreg" class="modal fade"> 
     <div class="modal-dialog"> 
      <div class="modal-content"> 
       <div class="modal-header"> 
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> 
        <h4 class="modal-title">Register...</h4> 
       </div> 
       <div class="modal-body"> 

       <form action="<?php echo 'register_success.php'; ?>" method="POST" name="registration_form" id="registration_form" class="margin-bottom-0"> 

        <div class="form-group"> 
         <label>First Name:</label> 
         <input type="text" id="first" name="first" class="form-control input-lg" placeholder="First Name" required /> 
        </div> 
        <div class="form-group"> 
         <label>Last Name:</label> 
         <input type="text" id="last" name="last" class="form-control input-lg" placeholder="Last Name" required /> 
        </div> 
        <div class="form-group"> 
         <label>Email:</label> 
         <input type="email" class="form-control input-lg" placeholder="Email Address" id="emailreg" name="emailreg" onkeyup="checkvalid()" data-parsley-trigger="change" required /> 
         <div id="emailwarning" style="color:red;"></div> 
        </div> 
        <div class="form-group"> 
         <label>Password: (At least 6 charactors with 1 number)</label> 
         <input type="password" id="passwordreg" name="passwordreg" class="form-control input-lg" placeholder="Password" data-parsley-minlength="6" data-parsley-pattern="/^[a-zA-Z0-9., ]*[0-9]+[a-zA-Z0-9., ]*$/" title="Passwords must be at least 6 characters long, contain at least one uppercase letter (A..Z), at least one lower case letter (a..z), and at least one number (0..9)"/> 
        </div> 
        <div class="form-group"> 
         <label>Repeat Password:</label> 
         <input type="password" name="confirmpwd" id="confirmpwd" class="form-control input-lg" placeholder="Repeat Password" data-parsley-equalto="#passwordreg" data-parsley-error-message="The entered text does not match the password field."/> 
        </div> 

       </div> 
       <div class="modal-footer"> 
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
        <input type="submit" id="registerbutton" class="btn btn-primary" onclick="return regformhash(this.form, this.form.passwordreg);" value="Register" > 
       </div> 
       </form> 

      </div> 
     </div> 
</div> 

<script type="text/javascript"> 
    $('#registration_form').parsley(); 
</script> 
+0

Он должен Работа. Скорее всего, у вас есть ошибка javascript (вы можете проверить консоль). Можете ли вы предоставить скрипку? –

+1

После некоторого устранения проблем, это событие onclick кнопки отправки. Если я удалю это, форма будет остановлена ​​на любые ошибки. Это событие onclick должно переопределять проверку петли данных. Позвольте мне вычислить, чтобы назвать это событие через Data Parsley ... Так что да, это ошибка JavaScript. благодаря... –

ответ

0

Событие onclick в кнопке отправки переопределяет функции функции петли. Удаление события onclick из кнопки «Отправить» и пуска данных в паршпию событий решило проблему.

изменилось ...

<input type="submit" id="registerbutton" class="btn btn-primary" onclick="return regformhash(this.form, this.form.passwordreg);" value="Register" > 

к ...

<input type="submit" id="registerbutton" class="btn btn-primary" value="Register" > 

и ...

$('#registration_form').parsley(); 

к ....

$('#registration_form').parsley().on('form:success', function() { 
    var form = document.getElementById('registration_form'); 
    var passwordreg = form.passwordreg; 
    return regformhash(form, passwordreg); 
}); 
Смежные вопросы