Повторное событие по клику
Добрый день. Есть таблица с товарами и напротив каждого кнопочка "Узнать цену" при нажатии по которой всплывает форма, в которой нужно ввести имя, тел, мыло и т.п.. Так вот, сообщение отправляется только 1 раз, более скрипт не срабатывает, форма появляется, но кнопка "отправить" не срабатывает. Подскажите, как решить проблему?
jQuery(document).ready(function() {
jQuery('span#button_mes').click(function() {
error=0;
jQuery( "#name" ).removeClass( "red_border" );
jQuery( "#phone" ).removeClass( "red_border" );
jQuery( "#email" ).removeClass( "red_border" );
jQuery( "#mes" ).removeClass( "red_border" );
name=document.getElementById('name').value;
email=document.getElementById('email').value;
phone=document.getElementById('phone').value;
mes=document.getElementById('mes').value;
if (name=='' || name=='Имя')
{
jQuery( "#name" ).addClass( "red_border" );
error=1;
}
if (phone=='' || phone=='Телефон')
{
jQuery( "#phone" ).addClass( "red_border" );
error=1;
}
var pattern = /^([a-z0-9_\.-])+@[a-z0-9-]+\.([a-z]{2,4}\.)?[a-z]{2,4}$/i;
if (email=='' || email=='Email' || !pattern.test(email))
{
jQuery( "#email" ).addClass( "red_border" );
error=1;
}
if (mes=='' || mes=='Текст сообщения')
{
jQuery( "#mes" ).addClass( "red_border" );
error=1;
}
if (error==0)
{
jQuery.ajax({
type: 'POST',
url: '/js/mail.php',
data: 'name='+name+'&email='+email+'&phone='+phone+'&mes='+mes+'&par=2',
success: function(data){
alert ('Ваше обращение принято, в скором времени с Вами свяжется наш сотрудник');
document.getElementById('name').value='';
document.getElementById('phone').value='';
document.getElementById('email').value='';
document.getElementById('mes').value='';
}
});
}
return false; // вернем false тогда переход по урлу не будет
})
jQuery('span#button_zak').click(function() {
error=0;
jQuery( "#name_zak" ).removeClass( "red_border" );
jQuery( "#phone_zak" ).removeClass( "red_border" );
name=document.getElementById('name_zak').value;
phone=document.getElementById('phone_zak').value;
if (name=='' || name=='Имя')
{
jQuery( "#name_zak" ).addClass( "red_border" );
error=1;
}
if (phone=='' || phone=='Телефон')
{
jQuery( "#phone_zak" ).addClass( "red_border" );
error=1;
}
if (error==0)
{
jQuery.ajax({
type: 'POST',
url: '/js/mail.php',
data: 'name='+name+'&phone='+phone+'&par=1',
success: function(data){
alert ('Ваше обращение принято, в скором времени с Вами свяжется наш сотрудник');
document.getElementById('name_zak').value='';
document.getElementById('phone_zak').value='';
}
});
}
return false; // вернем false тогда переход по урлу не будет
})
});
|
Rise,
Поля заполнены. Я ведь не пустую форму отправляю. |
alert ('Ваше обращение принято, в скором времени с Вами свяжется наш сотрудник');
document.getElementById('name').value=''; document.getElementById('phone').value=''; document.getElementById('email').value=''; document.getElementById('mes').value=''; - зачем? |
laimas,
Чтобы очистить поля... |
Форма очищается reset(). Но зачем?
if (name=='' || name=='Имя') - то есть, если я ввиду просто пробел, то это вполне нормально, а вот "Имя" ни в коем случае? Но можно же еще написать и "Мое", "Сам не знаю", и еще кучу разных вариаций, что же вы их не проверяете? Тоже самое и с телефоном, и мылом... и это при том, что "с Вами свяжется наш сотрудник" , а значит Человек читает, не Робот. Кроме этого, уж коли вам нужна истина, то сервер ну просто обязан проверить и тоже вернуть ошибки если есть. А коли нет, и "с Вами свяжется наш сотрудник" , то все, форма должна не очиститься, а "умереть" или вы до бесконечности ее принимать решили? |
| Часовой пояс GMT +3, время: 00:55. |