Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: checkbox ajax

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
kuller
Отправлено: 28 Марта, 2013 - 11:40:18
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 561
Дата рег-ции: Нояб. 2009  


Помог: 2 раз(а)




Помогите найти ошибку. форма содержит несколько checkbox и при клике по кнопке, вызывается функция CheckCat

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <input id="cat1" type="checkbox" name="cat1">
  3. <input class="save" onclick="CheckCat(); return false;" title="Сохранить выбранные категории" type="button" />
  4.  


CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function CheckCat()
  3. {
  4. var a=$('#cat1').val();
  5. $.post(root+"/ajax/mycat.php",{name:a},function(a){$("#result-cat").html(a)});return!1
  6. }
  7.  


в файле mycat вывожу просто содержимое переменой
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. echo "<font color=\"red\">".$_REQUEST['name']."</font>";
  4. ?>
  5.  


в результате не зависимо отмечен checkbox или нет переменая всегда выводит on
 
 Top
Panoptik
Отправлено: 28 Марта, 2013 - 11:43:17
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




у чекбоксов должны быть уникальные атрбуты id - это первое (вообще лучше удалите в данном примере этот атрибут)
второе: передавайте аргумент this в онклик обработчике и примите его в вашей функции function CheckCat(obj) и
уже от var a = $(obj).prev().val() делайте ваши действия

да, и значение on вы получаете, потому что у вас не задан атрибут value у чекбокса, если вам нужно name то и берите name
a = $(obj).prev().attr('name')

(Отредактировано автором: 28 Марта, 2013 - 11:47:26)



-----
Just do it
 
 Top
kuller
Отправлено: 28 Марта, 2013 - 11:58:40
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 561
Дата рег-ции: Нояб. 2009  


Помог: 2 раз(а)




Panoptik пишет:
у чекбоксов должны быть уникальные атрбуты id - это первое (вообще лучше удалите в данном примере этот атрибут)
второе: передавайте аргумент this в онклик обработчике и примите его в вашей функции function CheckCat(obj) и
уже от var a = $(obj).prev().val() делайте ваши действия

да, и значение on вы получаете, потому что у вас не задан атрибут value у чекбокса, если вам нужно name то и берите name
a = $(obj).prev().attr('name')


вроде все сделал правильно но теперь даже переменная не попадает в функцию

CODE (html):
скопировать код в буфер обмена
  1. <input class="save" onclick="CheckCat(this); return false;" title="Сохранить выбранные категории" type="button" />


CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function CheckCat(obj)
  3. {
  4. var a = $(obj).prev().attr('name'); alert(a); // undefined
  5. $.post(root+"/ajax/mycat.php",{name:a},function(a){$("#result-cat").html(a)});return!1
  6. }
  7.  

(Добавление)
А можно при клике на checkbox изменять value?

(Отредактировано автором: 28 Марта, 2013 - 11:59:33)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB