Разделить ОДНО поле ввода на НЕСКОЛЬКО HTML

Как я могу разделить ОДНО поле ввода на несколько частей, сохраняя неразделенную строку ввода? Таким образом, строка "расщепляется" только визуально.
Таким образом, если пользователь введет "12345678", очевидно, результатом отправки будет: field="12345678", отправка "12345678" на сервер. Итак, как мне сделать так, чтобы:
field1="12"
field2="34"
field3="56"
field4="78"
ПО-ПРЕЖНЕМУ отправлял "12345678" на сервер?

P.S. Извините, объяснил максимально просто=)


person MastersWRC    schedule 02.03.2015    source источник
comment
Как вы отправляете это на сервер? джаваскрипт или?   -  person Reptar    schedule 02.03.2015
comment
Добавьте скрытое поле ввода, чтобы содержать неразделенное значение. Используйте JavaScript, чтобы скопировать значения из разделенных полей в основное поле.   -  person George Cummins    schedule 02.03.2015
comment
Отправка с помощью js.   -  person MastersWRC    schedule 02.03.2015


Ответы (2)


Вы можете использовать javascript, чтобы добавить каждое из полей вместе (осторожно, чтобы не добавлять фактические числа), затем создать поле, в котором пользователь не может редактировать, и присвоить этому новое значение, а затем отправить его на сервер, надеюсь, я объяснил это нормально!

person Toby Cannon    schedule 02.03.2015
comment
Это на самом деле хорошая идея. Дай мне попробовать. - person MastersWRC; 02.03.2015
comment
@MastersWRC Дайте мне знать, как у вас дела - person Toby Cannon; 02.03.2015
comment
Я почти на месте! Все еще есть проблема. Js соединяет две строки вместе и вставляет результат в скрытое поле. Как я могу отправить данные на сервер из СКРЫТОГО поля? ` ‹script type=text/javascript› function join() ‹/script› ‹form action=/search.php method=POST onsubmit=return checkSearch();› ‹input id=result type=hidden value= style=solid # 494846;› ‹/form› ‹form› ‹input id=a type=text oninput=join(); › ‹input id=b type=text oninput=join(); › ‹/форма›` - person MastersWRC; 02.03.2015
comment
‹script type=text/javascript› function join() { var a = document.getElementById('a').value; var b = document.getElementById('b').value; document.getElementById('результат').value = a+b; } ‹/скрипт› - person MastersWRC; 02.03.2015
comment
@MastersWRC Вы уже решили это? Вы должны иметь возможность отправить его так же, как и обычное поле. - person Toby Cannon; 02.03.2015
comment
Да, я сделал! Я дам вам ссылку, чтобы проверить это, когда я закончу. - person MastersWRC; 03.03.2015

РЕШЕНИЕ. Все, что вам нужно, это скрипт:

<script type="text/javascript">
function join()
{
var a = document.getElementById('a').value;
var b = document.getElementById('b').value;
document.getElementById('result').value = a+b;
}
</script>

Вы должны сделать 3 независимых поля: 1 скрытое и два обычных. Скрытое поле будет контейнером результатов. Скрипт просто добавляет 2 значения из обычных полей и помещает результат в СКРЫТОЕ. Итак, код HTML5:

 <form action="/exec/search.php" method="POST"  onsubmit="return checkSearch();">
<input id="result" type="hidden" name="search" value="" style="border: 1px solid #494846; margin-left:25px;">
<input type="submit">
</form>
<form>
<input id="a" class="tiny" type="text" oninput="join();" onpaste="join();">
<input id="b" class="tiny" type="text" oninput="join();" onpaste="join();">

</form>

Спасибо Тоби Кэннону за помощь!

P.S. это абсолютно базовая модель. Вы можете продвигать его, как хотите.

person MastersWRC    schedule 02.03.2015