Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.12.2016, 18:15
Аватар для karakym
Профессор
Отправить личное сообщение для karakym Посмотреть профиль Найти все сообщения от karakym
 
Регистрация: 21.02.2010
Сообщений: 213

Проверка нескольких ID
Доброго времени суток, есть такой код:
var requestForm = $('#request-demo'),

Но у меня на сайте есть 2 формы, которые нужно проверить этим же способом. Есть простой вариант копи-паст + замена имен переменных.
Но вот хочу узнать можно ли как то таким способом это сделать?
var requestForm = $('#request-demo')||$('#request-popup'),

Что бы проверяло любую из этих форм.
Ответить с цитированием
  #2 (permalink)  
Старый 01.12.2016, 19:22
Аватар для Coriolan161
Профессор
Отправить личное сообщение для Coriolan161 Посмотреть профиль Найти все сообщения от Coriolan161
 
Регистрация: 21.11.2015
Сообщений: 440

karakym,
Ну так он тебе все время первую форму будет пихать в requestForm, если селектор верный и такая форма в ДОМе есть

Пиши один метод в который будешь передавать 'demo' или 'popup' и два раза его вызывай

function checkForm(name) {
  var requestForm = $('#request-' + name);
};


Цитата:
Что бы проверяло любую из этих форм
??? Ну тогда один раз вызывай на какой хочешь))
Ответить с цитированием
  #3 (permalink)  
Старый 01.12.2016, 20:22
Аватар для karakym
Профессор
Отправить личное сообщение для karakym Посмотреть профиль Найти все сообщения от karakym
 
Регистрация: 21.02.2010
Сообщений: 213

Сообщение от Coriolan161
Пиши один метод в который будешь передавать 'demo' или 'popup' и два раза его вызывай
то есть на submit вешать onclick="checkForm(тут попап или демо)"
Ответить с цитированием
  #4 (permalink)  
Старый 01.12.2016, 21:00
Аватар для Coriolan161
Профессор
Отправить личное сообщение для Coriolan161 Посмотреть профиль Найти все сообщения от Coriolan161
 
Регистрация: 21.11.2015
Сообщений: 440

karakym,
натюрлих
Ответить с цитированием
  #5 (permalink)  
Старый 02.12.2016, 01:51
Аватар для karakym
Профессор
Отправить личное сообщение для karakym Посмотреть профиль Найти все сообщения от karakym
 
Регистрация: 21.02.2010
Сообщений: 213

Сообщение от Coriolan161 Посмотреть сообщение
karakym,
натюрлих
Не совсем понял!
Ответить с цитированием
  #6 (permalink)  
Старый 02.12.2016, 02:51
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

var $demo = $('#request-demo'),
    $popup = $('#request-popup'),
    requestForm = $demo.length ? $demo : $popup;
Ответить с цитированием
  #7 (permalink)  
Старый 02.12.2016, 03:46
Аватар для karakym
Профессор
Отправить личное сообщение для karakym Посмотреть профиль Найти все сообщения от karakym
 
Регистрация: 21.02.2010
Сообщений: 213

А что означает в данном примере: .length
Ответить с цитированием
  #8 (permalink)  
Старый 02.12.2016, 03:53
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

если тега на странице не будет #request-demo
то $('#request-demo') вернет объект у которого lengt === 0
если теги на странице есть то length будет больше 0, равно колличеству объектов с данным тегом
Ответить с цитированием
  #9 (permalink)  
Старый 02.12.2016, 14:43
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от karakym
Что бы проверяло любую из этих форм.
А текущую как источник события что нельзя проверить?
Ответить с цитированием
  #10 (permalink)  
Старый 02.12.2016, 16:08
Аватар для karakym
Профессор
Отправить личное сообщение для karakym Посмотреть профиль Найти все сообщения от karakym
 
Регистрация: 21.02.2010
Сообщений: 213

Вот как проходит валидация форм:
// Request Demo Form
{
	// Variables
	{
		/* Inputs
		var $demo = $('#request-demo'),
	    	$popup = $('#request-popup'),
	    	requestForm = $demo.length ? $demo : $popup;
*/
		var requestForm = $('#request-demo'),

			fullNameInput = $('#fullName'),
			fullNameError = false, 

			phoneNumberInput = $('#phoneNumber'),
			phoneNumberError = false,

			emailInput = $('#email'),
			emailError = false,

			messageInput = $('#message'),
			messageError = false,

			numberCheck = /^\+?[0-9]+$/,
			specialCharactersCheck = /^[а-яА-ЯёЁa-zA-Z0-9- ]*$/,
			emailCheck = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	}

	// Inputs Validations
	{
		var fullNameValidate = function(){
			var fullNameVal = fullNameInput.val();
			if(!fullNameVal.trim() || fullNameVal == null || fullNameVal == "" || !fullNameVal.match(specialCharactersCheck)){
				fullNameInput.addClass('invalid').removeClass('valid');
				fullNameError = true;
				// $('html, body').animate({scrollTop: fullNameInput.offset().top - 100}, 1000);
			}else{
				fullNameInput.removeClass('invalid').addClass('valid');
				fullNameError = false;
			}

			return fullNameError;
		}
		fullNameInput.on('keyup focusout blur', function(e){
			fullNameValidate();
		});

		var phoneNumberValidate = function(){
			var phoneNumberVal = phoneNumberInput.val();


			if(phoneNumberVal == null || phoneNumberVal == "" || !phoneNumberVal.match(numberCheck)){
				phoneNumberInput.addClass('invalid').removeClass('valid');
				phoneNumberError = true;
				// $('html, body').animate({scrollTop: phoneNumberInput.offset().top - 100}, 1000);
			}else{
				phoneNumberInput.removeClass('invalid').addClass('valid');
				phoneNumberError = false;
			}
			return phoneNumberError;
		}
		phoneNumberInput.on('keyup focusout blur', function(e){
			phoneNumberValidate();
		});

		var emailValidate = function(){
			var emailVal = emailInput.val(); 

			if(!emailVal.trim() || emailVal == null || emailVal == "" || !emailVal.match(emailCheck)){
				emailInput.addClass('invalid').removeClass('valid');
				emailError = true;
				// $('html, body').animate({scrollTop: emailInput.offset().top - 100}, 1000);
			}else{
				emailInput.removeClass('invalid').addClass('valid');
				emailError = false;
			}
			return emailError;
		}
		emailInput.on('keyup focusout blur', function(e){
			emailValidate();
		});

		var messageValidate = function(){
			var messageVal = messageInput.val();
			if(!messageVal.trim() || messageVal == null || messageVal == ""){
				messageInput.removeClass('invalid').removeClass('valid');
			}else{
				messageInput.addClass('valid').removeClass('invalid');
			}
		}
		messageInput.on('keyup focusout blur', function(e){
			messageValidate();
		});

		$('.close-requested').on('click', function(){
			requestForm.removeClass('requested');
		})
	}
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка нескольких select на одинаковые значения emulexx Общие вопросы Javascript 6 07.04.2015 15:19
Проверка нескольких элементов alexmixaylov jQuery 10 13.02.2014 20:23
проверка формы не работает в ie begelme Javascript под браузер 6 13.08.2013 01:00
проверка наличия определенного класса из нескольких shaltay jQuery 1 20.10.2011 20:14
Проверка нескольких инпутов bagirov Общие вопросы Javascript 5 05.12.2008 16:34