Объединяем несколько значений input/textarea в одном поле на jQuery
Некоторые CMS бывают ограничены в требуемом функционале, и приходится вносить свои корректировки. С помощью следующего несложного скрипта вы сможете объединить 2 поля input (или textarea) в одном. Для чего это может быть нужно? Если у вас есть только одно свободное поле для данных, предоставляемое CMS, то из него вы сможете сделать необходимое вам количество полей.
Принцип расширения функционала довольно прост: информация из каждого созданного вами поля записывается в рабочее поле, где разделяется знаком (в нашем случае это знак пробела), то есть она хранится в одном поле, а визуально находится в нескольких.
Вот, собственно, сам код:
<div>Поле 1:</div>
<input name="name" class="name" type="text" />
<div>Поле 2:</div>
<input name="phone" class="phone" type="text" />
<div>Сумма полей:</div>
<input id="all_save" name="all_save" type="text" readonly />
<script>
$(".name, .phone").bind("keyup", function() {
var name = $(".name").val(); // Получаем содержимое 1-го поля
var phone = $(".phone").val(); // Получаем содержимое 2-го поля
$("#all_save").val(name+" "+phone); // Записываем данные двух полей в 3-е поле.
});
</script>
Где .name и .phone – это классы ваших созданных полей, а #all_save – это id поля, где нужно объединить значения первых двух.
C помощью этого скрипта на одном из сайтов я смог добавить дополнительное поле для комментариев, исключив тем самым лишнюю работу с базой данных.