2014-01-31 4 views
0

я использую форму для Signup с флажком с «условиями использования»представить чек формы, если установлен флажок

<form action="/signup/signup_success.html" id="regform" class="form-horizontal" novalidate="novalidate" autocomplete="off"> 
    <fieldset> 
    <div class="checkbox"> 
         <label for="agb" id="checkbox_validate" class="hide success">Please accept Terms of Use</label> 
         <label> 
          <input type="checkbox" name="agbcheckbox" id="agbcheckbox"> 
          Yes <a target="_blank" href="http://example.de">Datenschutzbestimmungen</a>. </label> 
        </div> 
        <div class="buttonWrapper"> 
         <button type="submit" class="try-button" > 
          Register 
         </button> 
        </div> 
    </fieldset> 
</form> 

<script> 
//check if checkbox for terms of use is checked or not 
$("#regform").submit(function(event) { 
if ($('#agbcheckbox').prop('checked')) { 
    $('#checkbox_validate').removeClass('show').addClass('hide'); 
    //checkbox for terms of use is checked 
} else { 
    //checkbox for terms of use is NOT checked 
    $('#checkbox_validate').removeClass('hide').addClass('show'); 
} 
    }); 
</script> 

если добавить «действие =»/регистрация/signup_success.html»к моей форме, проверка флажка не работает. Если установить действие к действию = «» проверка работает правильно. Я не нашел эту проблему. Спасибо за вашу помощь!

ответ

0

нашел проблема - моя функция пропустил возвращение ложным;

0

Ваш валидатор по-прежнему работает независимо от действия = '...' существует или нет. Разница в том, что когда вы определили action = '...', браузер отправит вашу форму по указанию. Для предотвращения этого в случае сбоя проверки, вы звоните e.preventDefault()

eg) $("#regform").submit(function(e){ if (.. validation failes ...) { .. do your error msg here e.preventDefault() // prevent browser to perform default action (in this case submit the form) } });

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