Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

определение значений всех переменных с одинаковыми именами

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Trump
Гость





СообщениеДобавлено: Пн Авг 30 2004 16:12    Заголовок сообщения: определение значений всех переменных с одинаковыми именами Ответить с цитатой

В общем расскажите мне, я уже задолбался думать, как поступать в такой ситуации.
в общем есть такая форма:
<form action=index.php>
<input name="name" type="checkbox" value="ON1">
<input name="name" type="checkbox" value="ON2">
<input name="name" type="checkbox" value="ON3">
<input name="name" type="checkbox" value="ON4">
<input type="submit" value="Send">
</form>

При использовании radiobutton проблем нет - определить value в скрипте не проблема. А вот как определить какие галочки были расставленны в форме перед отправкой в моем случае. Просто я часто такое встречаю, а как это делается не понимаю. Думал через QUERY_STRING определять но может есть другое решение. В принципе можно определять имена переменных как name[1], name[2] но если переменных больше сотни и требуется сделать галочку "выделить все", прописывать в javascript имена всех переменных как то криво... В общем, надеюсь я понятно изложил проблему. Жду ответов.
Вернуться к началу
wildwind



Зарегистрирован: 03.02.2004
Сообщения: 268
Откуда: Москва

СообщениеДобавлено: Пн Авг 30 2004 17:12    Заголовок сообщения: Ответить с цитатой

Контролам нужно давать РАЗНЫЕ имена. И не будет таких проблем.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
droopy



Зарегистрирован: 28.07.2004
Сообщения: 168

СообщениеДобавлено: Пн Авг 30 2004 18:04    Заголовок сообщения: Ответить с цитатой

<html>
<body>
<script>
function check()
{
var i;
if( document.getElementById( "all" ).checked )
{
for( i = 0; i < 3; i++ )
{
document.getElementById( "cb" + (i + 1) ).checked = true;
}
}
}
</script>
<form>
<input type="checkbox" id="cb1">
<input type="checkbox" id="cb2">
<input type="checkbox" id="cb3"><br>
<input type="checkbox" id="all" value="check all">
<input type="button" onClick="check()">
</form>
</body>
</html>
Если проблемы со скриптом то скрипт вот.
Можно так же испгользовть getElementByName.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Trump



Зарегистрирован: 31.08.2004
Сообщения: 4

СообщениеДобавлено: Вт Авг 31 2004 12:10    Заголовок сообщения: Ответить с цитатой

Ну да... А то я сам не знаю что надо имена разные давать. Но у меня такая ситуация что мне нужно поступить именно так. Я вот хотел показать пример только что-то ничего так сразу найти не смог. Только один сайт приходит в голову. Не сочтите за рекламу, просто не могу больше никак показать. Если кому не влом... или может хотя бы для общего развития зайдете на
http://weblancer.net/
зарегистрируйтесь и зайдите в меню создания нового проекта. Там расставляются галочки для определения сферы проекта. Если взглянуть html то у всех галочек имена одинаковые. Вот мне нужно тоже самое сделать только таких галочек может быть и 10 и 50 и 100. Извините за такой кривой пример. Попробую найти что-то менее геморойное чем заставлять региться на чьем-то сайте.

droopy
Спасибо за скрипт. Если уж на то пошло, то может скажешь как цикл for запустить на все checkbutton'ы если число их не постоянно. Только не надо предлагать задать переменную в которой будет содержаться число всех элементов. Хотелось бы чтобы javascript сам определял число нужных элементов.


Последний раз редактировалось: Trump (Вт Авг 31 2004 16:47), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
droopy



Зарегистрирован: 28.07.2004
Сообщения: 168

СообщениеДобавлено: Вт Авг 31 2004 13:31    Заголовок сообщения: Ответить с цитатой

function check()
{
var i;
if( document.forms[0].elements[3].checked )
{
for( i = 0; i < document.forms[0].elements.length; i++ )
{
document.forms[0].elements[i].checked = true;
}
}
}
иначе по-моему никак.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Trump



Зарегистрирован: 31.08.2004
Сообщения: 4

СообщениеДобавлено: Вт Авг 31 2004 15:00    Заголовок сообщения: Ответить с цитатой

В общем с корректировкой всех ошибок вот что у меня получилось (может кому понадобится чтоб как я не мучался не искал)

Код:
<script>
function check()
{
 var i;
 if( document.getElementById( "all" ).checked )
 {
  for( i = 1; i < document.forms[0].elements.length; i++ )
  {
    document.getElementById("n" + i).checked = true;
  }
 }
 else
 {
  for( i = 1; i < document.forms[0].elements.length; i++ )
  {
    document.getElementById("n" + i).checked = false;
  }
 }
}
</script>


Но это не выход из моего положения... не этого я хотел и поэтому мой вопрос остается в силе. Как сделать определение в php скрипте value всех переменных переданных из формы у которых name совпадают??? Потому что это можно сделать и совсем не обязательно присваивать всем элементам формы разные имена. Ведь работает же это на сайте на который я ссылался выше. Ну люблю я красивые решения, а присваивать разные имена это очень криво.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
droopy



Зарегистрирован: 28.07.2004
Сообщения: 168

СообщениеДобавлено: Вт Авг 31 2004 15:33    Заголовок сообщения: Ответить с цитатой

По-моему ты бред написал. Если так как ты пишешь то если главный
чекбокс не выставлен то все чекбоксы будут не выставлены. И
тогда достаточно одного чекбокса. Для пхп имхо будет единственно
правильное решение это делать разные имена и это не самый плохой
вариант. В конце концов для чего создан document.write?
используй и гемороя не будет хоть для 1000 чекбоксов.
все твои 1000 чекбоксов запишутся в 3 строчки и у всех будут разные
имена.
зы мой скрипт правелен.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Trump



Зарегистрирован: 31.08.2004
Сообщения: 4

СообщениеДобавлено: Вт Авг 31 2004 15:41    Заголовок сообщения: Ответить с цитатой

Вообще-то не бред а рабочий вариант. Ведь может понадобиться не только поставить все галочки но и снять их. Вешая на событие onClick в чекбоксе all выполнение процедуры check(), мы можем в моем скрипте выставлять/снимать все галочки, а в твоем скрипте только устанавливать.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...