Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.01.2015, 14:37
Новичок на форуме
Отправить личное сообщение для FranSe Посмотреть профиль Найти все сообщения от FranSe
 
Регистрация: 15.01.2015
Сообщений: 7

Запустить событие в случае успешной отправки формы
Ребята привет. Такое вот дело, есть скрипт(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);
}
);
});
});
Ответить с цитированием
  #2 (permalink)  
Старый 15.01.2015, 15:19
Новичок на форуме
Отправить личное сообщение для FranSe Посмотреть профиль Найти все сообщения от FranSe
 
Регистрация: 15.01.2015
Сообщений: 7

ну не ужели ни кто ничего не подскажет?
Ответить с цитированием
  #3 (permalink)  
Старый 15.01.2015, 16:03
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

FranSe,
$('#go').click(function(event){
    if (!validate_form()) return;
    ...
    ...
    ...
});
Ответить с цитированием
  #4 (permalink)  
Старый 15.01.2015, 16:25
Новичок на форуме
Отправить личное сообщение для FranSe Посмотреть профиль Найти все сообщения от FranSe
 
Регистрация: 15.01.2015
Сообщений: 7

Можно чуть подробней?
Ответить с цитированием
  #5 (permalink)  
Старый 15.01.2015, 17:17
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

FranSe, а что не понятно?
Ответить с цитированием
  #6 (permalink)  
Старый 15.01.2015, 23:07
Новичок на форуме
Отправить личное сообщение для FranSe Посмотреть профиль Найти все сообщения от FranSe
 
Регистрация: 15.01.2015
Сообщений: 7

Сообщение от Rise Посмотреть сообщение
FranSe, а что не понятно?
Вот попытался реализовать, но не работает.((

$('#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);
}
);
});
);
}
}
}
Ответить с цитированием
  #7 (permalink)  
Старый 16.01.2015, 00:19
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от FranSe
if (function validate_form ())
Вы понимаете, что написали здесь?

"Не правильный" написано неправильно
Ответить с цитированием
  #8 (permalink)  
Старый 16.01.2015, 08:04
Новичок на форуме
Отправить личное сообщение для FranSe Посмотреть профиль Найти все сообщения от FranSe
 
Регистрация: 15.01.2015
Сообщений: 7

Сообщение от BETEPAH Посмотреть сообщение
Вы понимаете, что написали здесь?

"Не правильный" написано неправильно
задаю условие при котором запускается функция валидация формы. Вроде бы так.. А где ошибка не понимаю(
Ответить с цитированием
  #9 (permalink)  
Старый 16.01.2015, 09:36
Профессор
Отправить личное сообщение для Царь Леонид Посмотреть профиль Найти все сообщения от Царь Леонид
 
Регистрация: 22.08.2013
Сообщений: 217

Вы написали так: if (function validate_form ()), а надо так if (!validate_form()) return;
Ответить с цитированием
  #10 (permalink)  
Старый 16.01.2015, 10:08
Новичок на форуме
Отправить личное сообщение для FranSe Посмотреть профиль Найти все сообщения от FranSe
 
Регистрация: 15.01.2015
Сообщений: 7

Сообщение от Царь Леонид Посмотреть сообщение
Вы написали так: if (function validate_form ()), а надо так if (!validate_form()) return;
Вот в таком скрипте 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);
});
});
);
}
}
});

Последний раз редактировалось FranSe, 16.01.2015 в 10:15.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Закрытие контактной формы после отправки сообщения. maddy Общие вопросы Javascript 2 12.01.2015 07:25
Как сделать disabled кнопки во время отправки формы? Bad Request Events/DOM/Window 7 16.04.2014 13:49
Как отменить событие onchange при отправке формы? Petja Элементы интерфейса 1 10.04.2014 18:10
Не могу разобрать механизм отправки формы kreon Angular.js 3 19.12.2013 13:04
У элемента img внутри form пропадает событие после onsubmit формы Eugene Events/DOM/Window 2 18.06.2009 19:21