Разделете ЕДНО поле за въвеждане на НЯКОЛКО HTML

Как мога да разделя ЕДНО поле за въвеждане на няколко части, като поддържам входния низ неразделен? Така низът се "разцепва" само визуално.
Така че, ако потребителят въведе "12345678", очевидно резултатът от изпращането ще бъде: field="12345678", изпращане на "12345678" към сървъра. И така, как мога да накарам:
field1="12"
field2="34"
field3="56"
field4="78"
ВСЕ ОЩЕ да изпращам "12345678" на сървъра?

P.S. Съжалявам, обяснено е възможно най-просто =)


person MastersWRC    schedule 02.03.2015    source източник
comment
Как изпращате това на сървъра? javascript или?   -  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(); › ‹/form›` - person MastersWRC; 02.03.2015
comment
‹script type=text/javascript› функция join() { var a = document.getElementById('a').value; var b = document.getElementById('b').value; document.getElementById('result').value = a+b; } ‹/скрипт› - person MastersWRC; 02.03.2015
comment
@MastersWRC Решихте ли го вече? Трябва да можете да го изпратите точно както бихте направили обикновено поле. - person Toby Cannon; 02.03.2015
comment
Да, направих! Ще ви дам URL адреса, за да го проверите, когато свърша. - 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