Разбить одно поле на 2
Здравствуйте. Помогите разбить одно поле на 2. Ну например есть поле с именем name="pole" и мне надо его разбить на 2 поля - ввёл в одно поле текст и во второе и это всё одно поле, которое соединяется например знаком &. Перелазил весь интернет, учебные материалы, но так и не смог найти решение.
|
а почему нельзя использовать два inputa а между ними & ?
|
Ну ведь в каждом input'е надо ставить name="xxx", причём в каждом разное. А мне надо из одного поля с name="pole" сделать 2 поля - я заполняю эти 2 поля и они объединяются.
|
GennadiyZm,
Вы название раздела читали? К Учебным материалам ваш вопрос никакого отношения не имеет! |
Цитата:
и при изменении в двух отдельных инпутах меняйте value этого скрытого поля |
Pavel M., пример напишите
|
можно так
использовал 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> |
А как сделать тоже самое, только наоборот из 1 input (вводит с клавиатуры) разделенные ":" например время (02:01), нужно вывести в 2 скрытых input'a h = 02, m = 01.
|
<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> |
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(":") || []; |
Часовой пояс GMT +3, время: 23:07. |