Решил использовать "jquery validation form" для проверки введённых данных. При нажатии на кнопку данные проверяются, и если они правильные скрипт отправляет их серверу. А мне хотелось бы чтобы данные передавались не посредством ajax, а простым post запросом (с открытием страницы). Подскажите как можно оставить проверку введённых данных, но убрать ajax запрос при нажатии на кнопку? Или как отловить событие когда дынные уже отправлены, чтобы сделать редирект самому?
Пытался сделать редирект, но скрипт работал через раз. Я думаю что это из-за того что скрипт не успев отправить данные открывал другую страницу. Или я ошибаюсь?
<form id="myForm" class="form-validate" action="/send.php" method="post">
<label style="position: relative; display: block; text-align: right; float: left; width: 185px; padding-right: 5px;" for="Email">Ваш Email: *<em style="position: absolute; right: -260px; top: -15px; font-size: 0.8em; color: #ff0000; padding: 1px;"></em></label> <input id="Email" class="inputbox required" style="display: block; width: 250px; float: left; margin-left: 10px; margin-bottom: 15px;" name="Email" type="text" /><br style="clear:left;" />
<button id="submit" class="button validate" style="text-align: center;">Отправить</button> </form>
<script type="text/javascript">
$(document).ready(function(){
var options = {
target: "#output",
timeout: 3000 // тайм-аут
};
$("#myForm").validate({
submitHandler: function(form) {
// вызываем метод ajaxSubmit
// плагина jquery.form.js
$(form).ajaxSubmit(options);
window.location = "http://site.ru" // пытался тут сделать редирект.
},
focusInvalid: false,
focusCleanup: true,
rules: {
Email: {
required: true,
email: true
}
},
messages: {
Email: {
required: "Нужно указать email адрес",
email: "Email адрес должен быть корректным"
}
},
errorPlacement: function(error, element) {
var er = element.attr("name");
error.appendTo( element.parent().find("label[@for='" + er + "']").find("em") );
}
});
});
</script>