Повторное событие по клику
Добрый день. Есть таблица с товарами и напротив каждого кнопочка "Узнать цену" при нажатии по которой всплывает форма, в которой нужно ввести имя, тел, мыло и т.п.. Так вот, сообщение отправляется только 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=''; - зачем? |
semen17, тогда в представленном коде больше нет препятствий для повторной отправки.
|
laimas,
Чтобы очистить поля... |
Форма очищается reset(). Но зачем?
if (name=='' || name=='Имя') - то есть, если я ввиду просто пробел, то это вполне нормально, а вот "Имя" ни в коем случае? Но можно же еще написать и "Мое", "Сам не знаю", и еще кучу разных вариаций, что же вы их не проверяете? Тоже самое и с телефоном, и мылом... и это при том, что "с Вами свяжется наш сотрудник" , а значит Человек читает, не Робот. Кроме этого, уж коли вам нужна истина, то сервер ну просто обязан проверить и тоже вернуть ошибки если есть. А коли нет, и "с Вами свяжется наш сотрудник" , то все, форма должна не очиститься, а "умереть" или вы до бесконечности ее принимать решили? |
Часовой пояс GMT +3, время: 10:00. |