Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Dubl Click
 
 автор: Diman   (30.06.2006 в 15:11)   письмо автору
 
 

Добрый день.
Мне надо в самой ссыке прописать следующие действия:
При первом нажатии переменная $a="checked",
При повторном $a="";

Как это сделать? Подскажите пожалуйста, т. к. с JavaScript пока не приходилось работать, а вещь очень нужная. Обязательно в скором времени изучу.

   
 
 автор: Diman   (30.06.2006 в 15:27)   письмо автору
 
   для: Diman   (30.06.2006 в 15:11)
 

Да, кстати есть вариант преложения получше. Как сделать так, чтобы в таблице нажать на один верхний чекбокс выделяются все. При повторном выделение сменяется. Это действие можно просмотреть к примеру на любой яндексной почте.

   
 
 автор: RMW   (30.06.2006 в 15:41)   письмо автору
 
   для: Diman   (30.06.2006 в 15:27)
 

Вот ссылка

<script>var x</script>
<a href="#" onclick="x?$a=x='':$a=x='checked';alert($a)">абвгд</a>


Вот чекбокс

<form>
 <input type="checkbox" name="aa" onclick=
 "var l=bb.length;while(l--)bb[l].checked=aa.checked">
 <br>
 <input type="checkbox" name="bb">
 <input type="checkbox" name="bb">
 <input type="checkbox" name="bb">
</form>

   
 
 автор: AlexSol   (30.06.2006 в 17:45)   письмо автору
 
   для: RMW   (30.06.2006 в 15:41)
 

и еще http://softtime.ru/forum/read.php?id_forum=4&id_theme=18541&page=3

   
 
 автор: Diman   (03.07.2006 в 10:58)   письмо автору
 
   для: AlexSol   (30.06.2006 в 17:45)
 

Огромное спасибо за ваши предложения, но всё-таки у меня чего-то не получается. А последний вариант буду разбирать дома, уж слишком много сразу информации.
Перейдем к делу.
Встречается в программе такая строка (главный чекбокс, это в самой шапке таблицы)
<input type="checkbox" name="aa" onclick=
"var l=id.length;while(l--)id[l].checked=aa.checked">

Затем следуют какие-то строки, запрашивается запрос из БД и начинается сам вывод данных в таблицу
my @result;
while ( @result = $q->fetchrow_array() )
{
...
print "<td><input type='checkbox' name='id' value=$result[0] $a></td>";
...
}
В последствии эту форму будет обрабатывать другой скрипт, где принимается параметр id. Ну это не так важно. Главное чтобы в цикле переменная $a принимала соответственно значения '' или 'checked' в соответствии при нажатаии на главный чекбокс. Что не так?
P.S. Пишу на Perl, ну это не важно.

   
 
 автор: Diman   (03.07.2006 в 11:42)   письмо автору
 
   для: Diman   (03.07.2006 в 10:58)
 

Я всё сдела так как описал RWW для чекбокса, но тогда главный чекбокс работает, но зато параметр id не передает значение. Как тогда быть?

print "<input type='checkbox' name='bb' id=$result[0]></td>";

   
 
 автор: RMW   (03.07.2006 в 13:03)   письмо автору
 
   для: Diman   (03.07.2006 в 11:42)
 

У нас была задача включить/выключить группу чекбоксов при вкл/выкл
одного чекбокса.
Я не знаю должны ли при пересылке формы
передаваться id включённых чекбоксов, но value,
вроде должен
<input type='checkbox' name='bb' id='some_Id' value='some_value'>
при этом значения value для каждого чекбокса из группы должны
различаться, тогда на сервере можно будет их различать.

   
 
 автор: Diman   (03.07.2006 в 13:40)   письмо автору
 
   для: RMW   (03.07.2006 в 13:03)
 

Да, здесь я конечно не прав. Надо было сразу сказать, что у меня переменная будет передавать значения на сервер. Пробовал писать:
<input type='checkbox' name='bb' id='some_id' value='some_$result[0]'>
Но так и не передаются значения. Так как же сделать два имени в чекбоксе, одно из которых будет отвечать за галочки (в данном случае bb), а другое за передачу значений серверу. (имя bb полностью работает).

   
 
 автор: RMW   (03.07.2006 в 19:30)   письмо автору
 
   для: Diman   (03.07.2006 в 13:40)
 

Не пойму почему у вас value не передаётся, должно бы передаваться.
Его-то как раз и можно использовать в качестве "второго имени".
Попробуйте сделать предельно простую форму, чистый HTML,
c использованием value для инпутов и посмотрите, передаётся ли value
на сервер.
Или используйте JS код не требующий одинакового значения name для обхода инпутов.
Приблизительно такой:
<form>
  <input type="checkbox" name="aa" onclick=
  "var x=this.form.elements,l=x.length;
   while(l--)if(x[l].type=='checkbox')x[l].checked=aa.checked">
  <br>
  <input type="checkbox" name="_0">
  <input type="checkbox" name="_1"> 
  <input type="checkbox" name="_2"> 
</form>

   
 
 автор: Diman   (04.07.2006 в 09:10)   письмо автору
 
   для: RMW   (03.07.2006 в 19:30)
 

В этом коде проблем нет. Да и какие здесь могут быть проблемы, когда здесь для каждого поля чекбокс свое универсальное имя. Но я выше писал, что основной чекбокс находится в шпаке таблицы, т. е. перед самим циклом. А уже в цикле wile{} выбираются значения из БД и вставляются в поля. Вот там то и используется этот зловредный один чекбокс, который и должен иметь два имени. Каждый раз когда проходит цикл, то поле чекбокс появляется на новой строке для очередных записей из БД. Мне нужно чтобы было еще поле id, которое передает идент. номер нажатого чекбокса. Уже второй день пошел, как я ламаю голову над этой ерундой. Помогите пожалуйста. В моей разработке остался только этот единственный недочет.
P.S. А что значит в имени поля и value выражение 'some_...'?

   
 
 автор: Diman   (04.07.2006 в 12:52)   письмо автору
 
   для: Diman   (04.07.2006 в 09:10)
 

Ладно. Наверное я никак толком не могу изложить свою проблему. Но тогда скажите пожалуйста, как в поле чекбоксе чтобы при очередном клике переменная присваивала одно значение, а при повторном другое.
Написал к примеру так:
...
my $a;
....
print "<input type='checkbox' onclick='$a='':$a='checked';alert($a)'> ";
....
while {
print "<td><input type='checkbox' name='id' value='$result[0]' $a>";
}

Т. е. в главном чекбоксе $a должна изменять свое значение, а вот в цикле простого чекбокса это значение должно выводиься.

   
 
 автор: RMW   (04.07.2006 в 13:15)   письмо автору
 
   для: Diman   (04.07.2006 в 12:52)
 

Давай примеры на HTML и JavaScript.
Возможно тебе это подойдёт.

<script>var a;</script>
<input type="checkbox" onclick="a=this.checked">

В этом примере после щелчка на чекбоксе
меняется значение переменной a на true или false
в зависимости от того влючён был чекбокс или выключен.

   
 
 автор: RMW   (04.07.2006 в 12:54)   письмо автору
 
   для: Diman   (04.07.2006 в 09:10)
 

"some_" ничего не значит.
Имелось ввиду
<input type='checkbox' name='bb' id='любое значение' value='любое значение'>

   
 
 автор: Diman   (04.07.2006 в 13:52)   письмо автору
 
   для: RMW   (04.07.2006 в 12:54)
 

Всё, разобрался в чем дело. Самый первый ваш вариант был верен, только сама проблемка у меня заключалась в том, чтт и параметры надо было принимать по имени 'bb' , а не 'id'. Не знаю, что за HTML у меня, но два имени он не воспринимает.
Но объясните пожалуйста в чем заключается сама фишка. Почему я не могу использовать другое имя поля, а именно bb. Вроде бы по идеи, я могу вместо этого и id приписать или еще что-нибудь, а оказывается он только bb воспринимает.

   
 
 автор: RMW   (04.07.2006 в 15:22)   письмо автору
 
   для: Diman   (04.07.2006 в 13:52)
 

id это зарезервированное слово.
Его нельзя использовать как имя переменной.
Разумеется вместо "bb" можно использовать любое (корректное) имя для переменной.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования