Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.11.2018, 12:30
Новичок на форуме
Отправить личное сообщение для kornilenkoivan Посмотреть профиль Найти все сообщения от kornilenkoivan
 
Регистрация: 05.11.2018
Сообщений: 2

Проверка input на опред-е знач-я, перенаправление на опред-ю стр-у в завис-и от знач
Всем привет!
Подскажите, пожалуйста, кто-нибудь, - как можно реализовать проверку одного input на определенные значения, сделав перенаправление на определенную страницу, в зависимости от прохождения проверки и последующую запись в файл.

Node.js могу использовать, поэтому вопрос тут создал, т.к. php и sql не доступны на проекте((

Пример:
Главная страница, на которой выдается popup в котором содержится форма из 3 инпутов:
инпут1 - здесь и нужна проверка на первые 6 цифр, введенные в инпут (т.е. если первые 6 цифр в инпут1 равны 123456, то перенаправление (по нажатию кнопки) будет на страницу 1; если 098765, то перенаправление на страницу 2; если 654321, то перенаправление на страницу 3 и т.д., если не подходит ни под одно из условий, то по нажатию кнопки просто происходит запись всех инпутов с этой страницы в файл на сервере и алерт пользователю об успешной записи);
инпут2;
инпут3.

Если же условия выполняются, то по нажатию кнопки - данные всех инпутов на главной странице записываются в переменную (т.е. переменная=инпут1 + инпут2 + инпут3 (просто все данные через пробел)) и происходит перенаправление, в зависимости от проверки условий в инпут1. На каждой новой странице будет свой инпут4, 5, 6 и т.д.

По итогу должна происходить запись (по нажатию кнопки на странице, куда выполнено перенаправление) в файл на сервере переменной с главной страницы+данные со страницы перенаправления (т.е. со страницы 1, 2 или 3 и т.д.) и выдать человеку алерт о принятии данных. Каждая запись нужна с новой строки, без затирания предыдущих. Т.е. предметно конечный файл выглядеть должен примерно таким образом:
конечный файл=переменная, полученная с главной страницы + инпут4 + инпут5 и т.д., в зависимости от количества страниц и каждая последующая запись - с новой строки. И, к примеру, после 4 записей файл должен выглядеть таким образом:
21.10.2018 19:30 инпут1 инпут2 инпут3 инпут4 или инпут5 или инпут6 и т.д.
21.10.2018 20:00 инпут1 инпут2 инпут3 инпут4 или инпут5 или инпут6 и т.д.
21.10.2018 21:30 инпут1 инпут2 инпут3 инпут4 или инпут5 или инпут6 и т.д.
21.10.2018 22:00 инпут1 инпут2 инпут3 инпут4 или инпут5 или инпут6 и т.д.

Пытался подружить php с проектом, не получилось. Пробовал прикрутить проверку самостоятельно, но получилось прикрутить только элементарную проверку на заполнение (пустое поле, или нет и email\телефон и т.д.). С js раньше не сталкивался, поэтому обращаюсь к вам.
Помогите, пожалуйста, построить логику

Последний раз редактировалось kornilenkoivan, 05.11.2018 в 12:57. Причина: дописал свои попытки
Ответить с цитированием
  #2 (permalink)  
Старый 05.11.2018, 23:45
Новичок на форуме
Отправить личное сообщение для kornilenkoivan Посмотреть профиль Найти все сообщения от kornilenkoivan
 
Регистрация: 05.11.2018
Сообщений: 2

Пока получилось добиться проверки строки вот таким способом:
нужный мне инпут1:
<input type="text">

Проверка и алерт в зависимости от совпадения:
var input = document.body.children[0];
input.oninput = function() {
if(input.value.length >= 12)
if(input.value.substr(0,6) == "123456")
alert(input.value);
 else 
alert('ne ok')
};
Ответить с цитированием
  #3 (permalink)  
Старый 06.11.2018, 00:08
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

&& - логическое И
if(input.value.length >= 12 && input.value.substr(0,6) == "123456")
Ответить с цитированием
  #4 (permalink)  
Старый 06.11.2018, 00:20
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<input type="text" id="inp">
<button id="btn">GO</button>
	<script>
var loc = {
'123456':'http://site.ru/str1',
'098765':'http://site.ru/str2',
'654321':'http://site.ru/str3'
};

btn.onclick = function() {
if(inp.value.length >= 12 ) location = loc[inp.value.substr(0,6)]||'http://site.ru/default';
};

	</script>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27