Проверка поля инпут
Вложений: 1
Здравствуйте
есть форма - модуль Обратный звонок, открывается в popup окне, форма с админ-панелью в этой форме, для поля email есть регулярное выражение, а для поля с телефоном нет. Пытался сделать проверку поля инпут телефона так (оформление кода оставил так, как в исходнике):
if(mand_tell&&Query.trim(jQuery('#call_tell').val())==""){callcons_mess('Введите Ваш телефон','call_tell');return}else{if(jQuery.trim(jQuery('#call_tell').val())!=""){if(!validTell(jQuery('#call_tell').val())){callcons_mess('Введите корректный_телефон','call_tell');return}else{jQuery.cookie('call_tell',jQuery('#call_tell').val());json_form_data+=',"call_tell":"'+jQuery('#call_tell').val()+'"'}}}
if(mand_tell)jQuery('#call_tell_div .call_form_name').append('<span style="color: red;">*</span>');
function validTell(tel){var re=/^[0-9()\-+ ]+$/;if(re.test(tel)){return true}else{return false}}
в результате форма в попап окне не открывается, пожалуйста, помогите (для лучшего понимания прикрепляю файл) |
Цитата:
return re.test(tel) 1. Отформатируй код. 2. Проверь онлайн сервисом jshint или jslint на ошибки. |
Цитата:
|
danik.js, ошибка здесь - mand_tell:
if(mand_tell&&Query.trim..... и в строке, которую я добавил
if(mand_tell)jQuery('#call_tell_div .call_form_name').append('<span style="color: red;">*</span>');
|
Цитата:
|
Вложений: 1
Цитата:
я плохо владею js и наверное не правильно задал вопрос, пожалуйста, посмотрите вложенный файл |
Цитата:
|
danik.js,
в модуле, который я установил, проверка поля Ваш e-mail проходит так:
if(mand_email&&jQuery.trim(jQuery('#call_email').val())==""){
callcons_mess('Введите Ваш email','call_email');return}
else{if(jQuery.trim(jQuery('#call_email').val())!=""){
if(!validEmail(jQuery('#call_email').val())){callcons_mess('Введите правильный email','call_email');return}
else{jQuery.cookie('call_email',jQuery('#call_email').val());
json_form_data+=',"call_email":"'+jQuery('#call_email').val()+'"'}}}
// из админ-панели чекбоксом можно включить обязательное/не обязательное к заполнению
if(mand_email)jQuery('#call_email_div .call_form_name').append('<span style="color: red;">*</span>');
// регулярное выражение для поля Ваш e-mail
function validEmail(email){
var re=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if(re.test(email)){return true}else{return false}}
Проверки регулярным выражением поля Ваш телефон в этом модуле нет, проверяется только заполнено поле или нет:
if(jQuery.trim(jQuery('#call_tell').val())==""){
callcons_mess('Введите номер телефона','call_tell');return}
else{
jQuery.cookie('call_tell',jQuery('#call_tell').val());
json_form_data+='"call_tell":"'+jQuery('#call_tell').val()+'"'}
Проверку регулярным выражением поля Ваш телефон сделал так, но форма перестала отправляться
if(Query.trim(jQuery('#call_tell').val())==""){
callcons_mess('Введите Ваш телефон','call_tell');return}
else{if(jQuery.trim(jQuery('#call_tell').val())!=""){
if(!validTell(jQuery('#call_tell').val())){callcons_mess('Введите корректный телефон','call_tell');return}
else{jQuery.cookie('call_tell',jQuery('#call_tell').val());
json_form_data+=',"call_tell":"'+jQuery('#call_tell').val()+'"'}}}
function validTell(tel){
var re=/^[0-9()\-+ ]+$/;
if(re.test(tel)){return true}else{return false}}
|
sashgera,
зачем запятая в 6 строке Цитата:
|
Цитата:
|
Цитата:
alert(
/^[0-9()\-+ ]+$/.test("())\+-+")// это твой телефон
)
насчет этого
if(re.test(tel)){return true}else{return false}}
выше уже сказали. Тебе сколько годков то, если не секрет? |
Цитата:
Цитата:
а почему автор этого модуля (формы) пишет так, поле проверяется регулярным выражением и успешно отправляется?:
if(re.test(email)){return true}else{return false}}
|
Цитата:
|
Цитата:
|
Вложений: 1
losos100, если не трудно, можешь дать свое решение проверки поля с телефоном? Файл js прикрепил
я не знаю, разрешены здесь ссылки на сторонние ресурсы, но вот эта форма http://consultant-web.ru/callme/ |
sashgera,
Там регистрироваться надо? Я не буду. Опиши словами, что надо сделать, в чем суть? допустим, у тебя сайт, тебе надо чтобы посетитель ввел форму телефон, чтобы ты ему потом перезвонил? Я не вижу проблемы тут никакой. В чем подвох? Это просто отправка данных на сервер, и ничего больше. Зачем ты эти свистоперделки подключаешь? |
sashgera,
Телефон можешь по-простому вот так проверить
alert(
/^[\d -]+$/.test("100-20-30")// это твой телефон
)
Допустимы цифры тире и пробелы. Если есть особые требования к формату, пиши. |
Вложений: 1
losos100, все дело в переменной, которой нет для поля телефон:
if(Query.trim( если брать, например, переменную mand_email от поля Ваш email: if(mand_email&&Query.trim( //и далее, как я уже приводил то поле телефон проверяется и форма уходит. Правда письмо отсылается без указанного в поле номера телефона прикрепил на всякий весь модуль |
danik.js, losos100, спасибо
сделал по другому, в инпут сделал блокировку ввода запрещенных символов |
| Часовой пояс GMT +3, время: 19:57. |