Регистрация
Вход через соцсети
Восстановление пароля

Передача данных из списка с множественным выбором

Новый топик
02.03.2010, 09:24
Ответить | Цитировать
ecoadmin

Зарегистрирован:
2008-11-28
Сообщений: 1

Здравствуйте!
Создал форму отправки заявок, на почту приходит содержимое всех полей, но из нескольких выбранных значений в Списке контейнеров приходит лишь последнее выбранное значение (рис.1), т.е. Челюскина 31, а Восстания 83 нет. Код списка контейнеров:
Код:
<script language='JavaScript'>
function addSelectedItemsToParent() {
self.opener.addToParentList(window.document.forms[0].f_destList);
window.close();
}
function fillInitialDestList() {
var f_destList = window.document.forms[0].f_destList;
var srcList = self.opener.window.document.forms[0].parentList;
for (var count = f_destList.options.length - 1; count >= 0; count--) {
f_destList.options[count] = null;
}
for(var i = 0; i < srcList.options.length; i++) {
if (srcList.options != null)
f_destList.options = new Option(srcList.options.text);
}}
function addSrcToDestList() {
f_destList = window.document.forms[0].f_destList;
srcList = window.document.forms[0].srcList;
var len = f_destList.length;
for(var i = 0; i < srcList.length; i++) {
if ((srcList.options != null) && (srcList.options.selected)) {
var found = false;
for(var count = 0; count < len; count++) {
if (f_destList.options[count] != null) {
if (srcList.options.text == f_destList.options[count].text) {
found = true;
break;
}}}
if (found != true) {
f_destList.options[len] = new Option(srcList.options.text);
len++;
}}}}
function deleteFromDestList() {
var f_destList = window.document.forms[0].f_destList;
var len = f_destList.options.length;
for(var i = (len-1); i >= 0; i--) {
if ((f_destList.options != null) && (f_destList.options.selected == true)) {
f_destList.options = null;
}}}
</script>

<table>
<tr>
<td><select size=15 name='srcList' multiple>
<option>ул.Восстания, 83 - 0.75 м3 (0.2 т)</option>
<option>ул.Челюскина, 31 - 0.75 м3 (0.2 т)</option>
<option>ул.Амирхана, 30 - 0.75 м3 (0.2 т)</option>
</select></td>
<td align='center'>
<input type='button' value=' >> ' onClick='javascript:addSrcToDestList()'><br>
<input type='button' value=' << ' onclick='javascript:deleteFromDestList();'>
</td>
<td><select name='f_destList' size=15 multiple></select></td>
</tr>
</table>

Отправляемое письмо в компоненте Форма заявка на вывоз контейнера в Действии после добавление формирую так (рис. 1):
Код:
$mailer->mailbody(strip_tags("Название компании: $f_CompanyNamernКонтактный телефон: $f_PhoneNumberrnТекст сообщения: $f_NoternСписок контейнеров: $f_destList "));
.
Как передать несколько значений из скиска?

ecoadmin
09.03.2010, 06:54
Ответить | Цитировать
pe3udent
Артур Юсупов

Зарегистрирован:
2008-04-03
Сообщений: 220

Во-первых, если вы хотите получить массив всех выбранных значений списка, атрибут name должен содержать скобки - т.е.
Код:
<select size=15 name='srcList[]' multiple>

Во-вторых, чтобы перечислить все выбранные значения в письме, нужно как минимум пробежаться по массиву (foreach например)
198 196 2010-03-09 06:54:01 9872
Описание проекта