Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод значение checkbox-a в окне confirm, Вывод значение checkbox-a в окне confirm 
:(
    Опции темы
iDrum
Дата 5.5.2006, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 5.5.2006

Репутация: нет
Всего: нет



Форма с различными импутами text и checkbox.При нажатие на сабмит нужно вывести данные чекбоксов отмеченого галочкой,всё остальное выводиться нормально.
форма
Код

<FORM action="./index.php?action=send" method='post' enctype="multipart/form-data">
<INPUT type="hidden" name="action" value="send">
<br>Контактное лицо(Ф.И.О):<br>
<INPUT name=fio class=input style="WIDTH:300;height:20 " value="<?echo $fio?>" ><br>
Название компании:<br>
<INPUT name=company class=input style="WIDTH: 300;height:20" value="<?echo $company?>"><br>
Адрес (индекс, страна, область, город):<br>
<INPUT name=addres class=input style="WIDTH: 300;height:20" value="<?echo $addres?>"><br>
E-mail:<br>
<INPUT name=e_mail class=input style="WIDTH: 300;height:20" value="<?echo $e_mail?>"><br>
Контактный телефон (с кодом),факс:<br>
<INPUT name=tel class=input style="WIDTH: 300;height:20" value="<?echo $tel?>"><br>
Выберите категории:
<input type='checkbox' name='cat[0]' value='Катеогрия 1'>
<input type='checkbox' name='cat[1]' value='Катеогрия 2'>
<input type='checkbox' name='cat[2]' value='Катеогрия 3'>
<input type="submit" Onclick='return valid(this.form)' class='button' value="Отправить" >
</FORM>



проверяю только фио на ввод
Код
function valid(form) {
if (form.fio.value == ""){ alert("Укажите данные"); return false}
else {
if (confirm("Проверьте ваши данные:\nФИО: "+form.fio.value+"\nНазвание компании: "+form.company.value+"\nАдрес: "+form.addres.value+"\nE-mail: "+form.e_mail.value+"\nТелефон: "+form.tel.value+"\nФорма заполнена корректно?")) return true
else return false;
}
}

  

Это сообщение отредактировал(а) iDrum - 5.5.2006, 12:10
PM MAIL   Вверх
12345c
Дата 5.5.2006, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



 enctype="multipart/form-data" здесь лишнее.

Чтобы чекбоксы читать как массив, надо писать

Код
<input type='checkbox' name='cat[]' value='Катеогрия 1'>
<input type='checkbox' name='cat[]' ...
В остальном проблемы не вижу.

 
PM WWW   Вверх
iDrum
Дата 5.5.2006, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 5.5.2006

Репутация: нет
Всего: нет



да,вы правы,исправил.Но не могу воткнуть вывод в confirm проверку на наличие галки и вставку по true. 
PM MAIL   Вверх
igorold
Дата 5.5.2006, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

Репутация: 2
Всего: 17



Может что-то типа этого?
Код

function valid(form) {
if (form.fio.value == ""){ alert("Укажите данные"); return false}
else {
if (form.cat[0].checked==false && form.cat[1].checked==false && form.cat[2].checked==false )
{
    if (confirm('Выберите Категорию 1?'))
    {
        form.cat[0].checked=true;
    }
    else if (confirm('Выберите Категорию 2?'))
    {
        form.cat[1].checked=true;
    }
    else
    {
        form.cat[2].checked=true;
    }
}
if (confirm("Проверьте ваши данные:\nФИО: "+form.fio.value+"\nНазвание компании: "+form.company.value+"\nАдрес: "+form.addres.value+"\nE-mail: "+form.e_mail.value+"\nТелефон: "+form.tel.value+"\nФорма заполнена корректно?")) return true
else return false;
}
}
  

Это сообщение отредактировал(а) igorold - 6.5.2006, 06:05


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
12345c
Дата 5.5.2006, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



iDrum: Есть такая тема про ссылку с подтверждением. По её типу:

Код
<form action="" name=fo1 (this.value+' форму?');">
...
<input name=fio value="Фамилия_И_О">
<input type=submit>
...
</form>
или ссылаемся на функцию, где проходят проверки полей, которая возвращает true, если всё правильно. (onsubmit="return ff()")
 


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
iDrum
Дата 6.5.2006, 05:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 5.5.2006

Репутация: нет
Всего: нет



12345c, по ссылке - мне не нада ничего удалять,то бишь онулять форму.Мне просто нада в окне конфирма помимо вывода ФИО адреса и тд вывести список категорий,которые были отмечены.
igorold, не работает.Думаю нада сделать по циклу прогнать каждый чекбокс и проверить на checked,если true то записать в переменную.А потом эту переменную вывести в окне конфирма.Но оказываеться плохо знаю синтаксис блин 
PM MAIL   Вверх
igorold
Дата 6.5.2006, 06:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

Репутация: 2
Всего: 17



Вот так у меня работает:
Код

<input type='checkbox' name='cat' value='Категория 1'>Категория 1
<input type='checkbox' name='cat' value='Категория 2'>Категория 2
<input type='checkbox' name='cat' value='Категория 3'>Категория 3

тогда функцию переписываем:
Код

function valid(form) {
if (form.fio.value == ""){ alert("Укажите данные"); return false}
else {
if (form.cat[0].checked==false && form.cat[1].checked==false && form.cat[2].checked==false )
{
    if (confirm( 'Выберите '+form.cat[0].value+'?'))
    {
        form.cat[0].checked=true;
    }
    else if ( 'Выберите '+form.cat[1].value+'?'))
    {
        form.cat[1].checked=true;
    }
    else
    {
        form.cat[2].checked=true;
    }
}
var cat = '';
for (var i = 0; i < 3; i++) { if (form.cat[i].checked==true)  cat = form.cat[i].value; }
if (confirm("Проверьте ваши данные:\nФИО: "+form.fio.value+"\nНазвание компании: "+form.company.value+"\nАдрес: "+form.addres.value+"\nE-mail: "+form.e_mail.value+"\nТелефон: "+form.tel.value+"\nКатегория:"+cat+"\nФорма заполнена корректно?")) return true
else return false;
}
}


Добавлено @ 06:51 
Это я написал пример, если не выбрано ни одного чекбокса, то выбирается последний .... 
не рассматривал случай, если будет выбрано более одного чекбокса или не должно быть не выбрано ни одного ... 
думаю это не трудно самому сделать ...  

Это сообщение отредактировал(а) igorold - 6.5.2006, 06:43


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
iDrum
Дата 6.5.2006, 07:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 5.5.2006

Репутация: нет
Всего: нет



извиняюсь,просто полсушал 12345c,оказывается нада вообще без [].
Вообщем сделал так:
Код

function valid(form) {
if (form.fio.value == ""){ alert("Укажите данные"); return false }
cvar="";
for(i=0;i<4;i++) {
if(form.cat[i].checked==true) 
cvar="\n"+cvar+form.cat[i].value+"\n";
  }
if (confirm("Проверьте ваши данные:\nФИО: "+form.fio.value+"\nНазвание компании: "+form.company.value+"\nАдрес: "+form.addres.value+"\nE-mail: "+form.e_mail.value+"\nТелефон: "+form.tel.value+"\nВыбранные категории: "+cvar+"\nФорма заполнена корректно?")) return true
else return false;
}
 
PM MAIL   Вверх
igorold
Дата 6.5.2006, 07:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

Репутация: 2
Всего: 17



лучше , наверное сделать так:
Код

cvar=cvar+form.cat[i].value+"\n";

и если у тебя 3 чекбокса, то цикл делай до i<3 


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
iDrum
Дата 6.5.2006, 08:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 5.5.2006

Репутация: нет
Всего: нет



а ещё лучше было бы определить размер массива.Это можно сделать? 
PM MAIL   Вверх
igorold
Дата 6.5.2006, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

Репутация: 2
Всего: 17



да, размер массива в данном случае равен:
Код

for(i=0;i<form.cat.length;i++)
  

Это сообщение отредактировал(а) igorold - 6.5.2006, 09:05


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
iDrum
Дата 6.5.2006, 09:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 5.5.2006

Репутация: нет
Всего: нет



большое спасибо.
 
PM MAIL   Вверх
iDrum
Дата 6.5.2006, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 5.5.2006

Репутация: нет
Всего: нет



интересно ,а почему не работает с cat[] ? дело в том что мне в пхп нада бы этот массив обработать потом 
PM MAIL   Вверх
iDrum
Дата 6.5.2006, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 5.5.2006

Репутация: нет
Всего: нет



оффтопа малость: 
<input type="checkbox" name="cat1" value="cat1" >
<input type="checkbox" name="cat2" value="cat2">

for(i=1;i<2;i++) {
         if(form.cat???.checked==true) { 
    }

что написать вместо ??? что бы по циклу обработать оба инпута?  
PM MAIL   Вверх
igorold
Дата 6.5.2006, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

Репутация: 2
Всего: 17



может так:
Код

for(i=1;i<2;i++) {
         if( eval("form.cat"+ i+".checked")  ==true) { 
}
 


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1893 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.