Проверка поля инпут
Вложений: 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, время: 12:44. |