Я строю проверку для полей формы для формы. Таким образом, мне нужно сделать проверку, который я делаю так:Reset event.preventDefault()
$(document).ready(function() {
$('#submitbutton').click(function() {
if (validateField()) {
$('form.checkout_form_validate').submit(function(event) {
return true;
});
}
else {
$('form.checkout_form_validate').submit(function(event) {
event.preventDefault();
return false;
});
}
});
function validateField() {
var first_name = $('#first_name').val();
var last_name = $('#last_name').val();
var shipping_address = $('#shipping_address_1').val();
var city = $('#city').val();
var state = $('#state').val();
var phone = $('#phone').val();
if (first_name == "" || last_name == "" || shipping_address == "" || city == "" || state == "" || phone == "") {
$('#errorcontainer').html('Fill out all the required fields <br/>');
$('#errorcontainer').fadeIn('fast');
return false;
} else {
return true;
}
}
});
Таким образом, если пользователь просто нажать кнопку отправки, он выдаст сообщение об ошибке и форма не будет представить, но, если после того, как делать это, пользователь заполняет всю форму, а затем нажимает submit, ничего не произойдет, даже если validateField()
истинно. Как «перезагрузить» его? Есть идеи ?
На каждой нажмите на кнопку отправить, вы связывание новой формы представить обработчик. Не встраивать события ... –
В этом случае я использую ajax для отправки проверенных данных на сервер. – raBne
@ user3850805 Это не очень хорошая идея ... – candh