Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.01.2015, 15:11
Кандидат Javascript-наук
Отправить личное сообщение для sashgera Посмотреть профиль Найти все сообщения от sashgera
 
Регистрация: 20.09.2011
Сообщений: 140

Проверка поля инпут
Здравствуйте
есть форма - модуль Обратный звонок, открывается в 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}}


в результате форма в попап окне не открывается, пожалуйста, помогите
(для лучшего понимания прикрепляю файл)
Вложения:
Тип файла: zip callcons.zip (2.6 Кб, 2 просмотров)

Последний раз редактировалось sashgera, 21.01.2015 в 15:44.
Ответить с цитированием
  #2 (permalink)  
Старый 21.01.2015, 15:14
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от sashgera
if(re.test(tel)){return true}else{return false}
Если (правда|ложь) вернуть правда иначе вернуть ложь. Тафтология, правда? Делается так:

return re.test(tel)


1. Отформатируй код.
2. Проверь онлайн сервисом jshint или jslint на ошибки.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 21.01.2015, 15:17
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Цитата:
оформление кода оставил так, как в исходнике
Спасибо большое)
Ответить с цитированием
  #4 (permalink)  
Старый 21.01.2015, 15:19
Аспирант
Посмотреть профиль Найти все сообщения от registrant
 
Регистрация: 15.01.2015
Сообщений: 39

Сообщение от danik.js
Проверь онлайн сервисом jshint или jslint на ошибки.
Он проверяет код не на ошибки, а на ё*ную неведомую х*ню, которая с точки зрения старого маразматика похожа на ошибки. Так же он думает, что монады -- это бурито. Слабо проверить код на бурито головного мозга? Не надо вводить людей в заблуждение
Ответить с цитированием
  #5 (permalink)  
Старый 21.01.2015, 15:38
Кандидат Javascript-наук
Отправить личное сообщение для sashgera Посмотреть профиль Найти все сообщения от sashgera
 
Регистрация: 20.09.2011
Сообщений: 140

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>');
Ответить с цитированием
  #6 (permalink)  
Старый 21.01.2015, 15:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от sashgera
ошибка здесь
(mand_tell && Query
Ответить с цитированием
  #7 (permalink)  
Старый 21.01.2015, 15:57
Кандидат Javascript-наук
Отправить личное сообщение для sashgera Посмотреть профиль Найти все сообщения от sashgera
 
Регистрация: 20.09.2011
Сообщений: 140

Сообщение от рони Посмотреть сообщение
(mand_tell && Query
не помогло
я плохо владею js и наверное не правильно задал вопрос, пожалуйста, посмотрите вложенный файл
Вложения:
Тип файла: zip callcons.zip (2.6 Кб, 1 просмотров)
Ответить с цитированием
  #8 (permalink)  
Старый 21.01.2015, 17:58
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от sashgera
Query.trim
Может, все таки jQuery.trim?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #9 (permalink)  
Старый 21.01.2015, 21:39
Кандидат Javascript-наук
Отправить личное сообщение для sashgera Посмотреть профиль Найти все сообщения от sashgera
 
Регистрация: 20.09.2011
Сообщений: 140

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}}
Ответить с цитированием
  #10 (permalink)  
Старый 21.01.2015, 21:58
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

sashgera,
зачем запятая в 6 строке
Сообщение от sashgera
json_form_data+=',"call_tell":"
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка поля номера телефона iskander83 Общие вопросы Javascript 2 14.05.2013 15:22
Проверка поля Зосимов jQuery 2 19.04.2013 06:42
Проверка Тестового поля arahmanov AJAX и COMET 7 05.08.2011 00:35
проверка поля в скрытом div'е dmus AJAX и COMET 4 10.08.2009 10:34
проверка поля HTML-формы с помощью RegExp dios jQuery 0 27.08.2008 15:53