Javascript.RU

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

Разбить одно поле на 2
Здравствуйте. Помогите разбить одно поле на 2. Ну например есть поле с именем name="pole" и мне надо его разбить на 2 поля - ввёл в одно поле текст и во второе и это всё одно поле, которое соединяется например знаком &. Перелазил весь интернет, учебные материалы, но так и не смог найти решение.
Ответить с цитированием
  #2 (permalink)  
Старый 18.02.2012, 22:40
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

а почему нельзя использовать два inputa а между ними & ?
Ответить с цитированием
  #3 (permalink)  
Старый 19.02.2012, 13:48
Интересующийся
Отправить личное сообщение для GennadiyZm Посмотреть профиль Найти все сообщения от GennadiyZm
 
Регистрация: 29.07.2011
Сообщений: 16

Ну ведь в каждом input'е надо ставить name="xxx", причём в каждом разное. А мне надо из одного поля с name="pole" сделать 2 поля - я заполняю эти 2 поля и они объединяются.
Ответить с цитированием
  #4 (permalink)  
Старый 19.02.2012, 18:52
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

GennadiyZm,
Вы название раздела читали? К Учебным материалам ваш вопрос никакого отношения не имеет!
Ответить с цитированием
  #5 (permalink)  
Старый 19.02.2012, 21:18
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

Сообщение от GennadiyZm Посмотреть сообщение
Ну ведь в каждом input'е надо ставить name="xxx", причём в каждом разное. А мне надо из одного поля с name="pole" сделать 2 поля - я заполняю эти 2 поля и они объединяются.
сделайте рядом <input type=hidden name=pole value="">
и при изменении в двух отдельных инпутах меняйте value этого скрытого поля
Ответить с цитированием
  #6 (permalink)  
Старый 21.02.2012, 17:46
Интересующийся
Отправить личное сообщение для GennadiyZm Посмотреть профиль Найти все сообщения от GennadiyZm
 
Регистрация: 29.07.2011
Сообщений: 16

Pavel M., пример напишите
Ответить с цитированием
  #7 (permalink)  
Старый 26.02.2012, 09:58
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

можно так
использовал jquery для быстроты
<script src='http://code.jquery.com/jquery-git.js'></script>
<script>
	$(function(){
		var pole12 = $('input[name="pole1"], input[name="pole2"]'),
			pole = $('input[name="pole"]'),
			button = $('button');

		pole12.change(function () {
			
			var v = pole12.map(function() {
			  return this.value;
			}).get().join('&'); 

			pole.val(v);
		});
			
		button.click(function () {
			alert(pole.val());       
		}); 
	}); 
</script>

<input type=hidden name=pole>
<input type=text name=pole1>&<input type=text name=pole2>
<button>Значение скрытого поля</button>
Ответить с цитированием
  #8 (permalink)  
Старый 27.03.2019, 16:35
Аспирант
Отправить личное сообщение для wegas Посмотреть профиль Найти все сообщения от wegas
 
Регистрация: 07.03.2017
Сообщений: 30

А как сделать тоже самое, только наоборот из 1 input (вводит с клавиатуры) разделенные ":" например время (02:01), нужно вывести в 2 скрытых input'a h = 02, m = 01.
Ответить с цитированием
  #9 (permalink)  
Старый 27.03.2019, 21:39
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

<input type="text">
<input type="hidden" name="h">
<input type="hidden" name="m">
<script>

document.querySelector("input[type=text]").addEventListener("input", function(event) {
	var value = event.target.value;
	var match = value.match(/^(\d{1,2})\D?(\d{2}|)$/) || [];
	if(!match[1]) match[1] = "00";
	if(!match[2]) match[2] = "00";

	document.querySelector("input[name=h]").value = match[1];
	document.querySelector("input[name=m]").value = match[2];
});

</script>
Ответить с цитированием
  #10 (permalink)  
Старый 27.03.2019, 22:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Malleys,
почему| в match, а не например
var match = value.match(/^(\d{1,2})\D?(\d{1,2})?$/)
?
ещё варианты
var match = value.match(/\d{1,2}/g) || []; 
var match = value.split(":") || [];

Последний раз редактировалось рони, 27.03.2019 в 23:50.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить координаты курсора в текстовом поле в пикселях prike Events/DOM/Window 4 23.05.2013 04:35
Обновить одно поле в 10 таблицах в MYSQL Golovastik Ваши сайты и скрипты 4 17.03.2011 12:40
Перенос id чекбокса в поле input azarubin Общие вопросы Javascript 7 14.01.2011 22:30
открыть модальное окно pisikaka Общие вопросы Javascript 28 20.08.2009 03:53
Сделать текстовое поле активным battrack1 Общие вопросы Javascript 3 11.06.2009 17:21