Разбить одно поле на 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(":") || [];
|
рони,
Чтобы можно было вводить время! 22:30 или 2230 или 9:50 или 950 или 12.30 или 2h45 или 15h или 14 |
| Часовой пояс GMT +3, время: 06:21. |