Запустить событие в случае успешной отправки формы
Ребята привет. Такое вот дело, есть скрипт(1), проверяет правильность введенной информации в форме, в случае ошибок не отправляет форму. Есть скрипт(2), при нажатии на кнопку отправить форму, выполняет появление модального окна. Задача состоит в том, чтобы выполнить скрипт 2, после успешного выполнения скрипта 1.
Т.е. если форма не отправляется по причине пустых полей формы или неправильного заполнения полей, тогда скрипт 2 не должен выполняться. Помогите решить, заранее благодарен) скрипт 1: function validate_form () { var x=document.forms["form_v"]["you_email"].value; var atpos=x.indexOf("@"); var dotpos=x.lastIndexOf("."); valid = true; if (( document.form_v.you_name.value == "" ) || ( document.form_v.you_phone.value == "" ) || ( document.form_v.you_email.value == "" )) { alert ( "Пожалуйста заполните все поля." ); valid = false; } else { if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length) { alert("Не правильный адрес e-mail"); return false; } return valid; } } скрипт 2: $(document).ready(function() { $('#go').click( function(event){ $('#overlay').fadeIn(400, function(){ $('#modal_form') .css('display', 'block') .animate({opacity: 1, top: '50%'}, 200); }); }); /* Закрытие модального окна */ $('#modal_close, #overlay').click( function(){ $('#modal_form') .animate({opacity: 0, top: '45%'}, 200, function(){ $(this).css('display', 'none'); $('#overlay').fadeOut(400); } ); }); }); |
ну не ужели ни кто ничего не подскажет?:-?
|
Можно чуть подробней?
|
Цитата:
$('#go').click( function(event) { if (function validate_form ()) { var x=document.forms["form_v"]["you_email"].value; var atpos=x.indexOf("@"); var dotpos=x.lastIndexOf("."); valid = true; if (( document.form_v.you_name.value == "" ) || ( document.form_v.you_phone.value == "" ) || ( document.form_v.you_email.value == "" )) { alert ( "Пожалуйста заполните все поля." ); valid = false; } else { if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length) { alert("Не правильный адрес e-mail"); return false; } else { return valid; } if $(document).ready(function() { $('#overlay').fadeIn(400, function(){ $('#modal_form') .css('display', 'block') .animate({opacity: 1, top: '50%'}, 200); }); }); /* Закрытие модального окна */ $('#modal_close, #overlay').click( function(){ $('#modal_form') .animate({opacity: 0, top: '45%'}, 200, function(){ $(this).css('display', 'none'); $('#overlay').fadeOut(400); } ); }); ); } } } |
Цитата:
"Не правильный" написано неправильно ;) |
Цитата:
|
Вы написали так: if (function validate_form ()), а надо так if (!validate_form()) return;
|
Цитата:
$('#go').click( function(event) { if (!validate_form ()) { var x=document.forms["form_v"]["you_email"].value; var atpos=x.indexOf("@"); var dotpos=x.lastIndexOf("."); valid = true; if (( document.form_v.you_name.value == "" ) || ( document.form_v.you_phone.value == "" ) || ( document.form_v.you_email.value == "" )) { alert ( "Пожалуйста заполните все поля." ); valid = false; } else { if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length) { alert("Не правильный адрес e-mail"); return false; } return valid; if $(document).ready(function() $('#overlay').fadeIn(400, function(){ $('#modal_form') .css('display', 'block') .animate({opacity: 1, top: '50%'}, 200); }); $('#modal_close, #overlay').click( function(){ /* Закрытие модального окна */ $('#modal_form') .animate({opacity: 0, top: '45%'}, 200, function(){ $(this).css('display', 'none'); $('#overlay').fadeOut(400); }); }); ); } } }); |
Наконец то я сделал) Не пришлось менять структуру скриптов. Реализовал путем совмещения скриптов одного в другой.) Спасибо тем кто подсказывал)
|
Часовой пояс GMT +3, время: 20:46. |