Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: checkbox
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Gitrix
  1. (function(a){a.fn.customcheckbox=function(){return this.each(function(){obj=a(this);var b=obj.html();
  2. var c=obj.attr("name");var e="customcheckbox_"+c;var f="checkbox_"+c;var d='<a href="" class="checkbox" id="'+e+'"><small></small>
  3. </a>';obj.after(d);obj.attr("id",f);if(obj.attr("checked")){a("a#"+e).addClass("on")}else{a("a#"+e).addClass("off")}a("a#"+e).click(function()
  4. {var g=a(this);if(g.hasClass("on")){g.find("small").stop().animate({left:23});g.removeClass("on").addClass("off");a("input#"+f).removeAttr("checked")}else{
  5. g.find("small").stop().animate({left:0});g.removeClass("off").addClass("on");a("input#"+f).attr("checked","checked")}return false})})}})(jQuery);

Problem w tym,że jeśli ustawie na "on" i klikne submit wyświetla się strona.pl/?checkbox=on
a jeśli ustawie na off nic się nie wyswietla

Link do całego kodu
http://ingitre.netai.net/Admin/js/global.js
trueblue
Masz ustawione value dla checkboxa (w kodzie html)?
Gitrix
  1. <?php
  2. include "cf.php";
  3. $query = mysql_query("SELECT * FROM checked");
  4. $row = mysql_fetch_array($query);
  5. $stan = $row['stan'];
  6. if($stan == off)
  7. {
  8. echo '<input type="checkbox" class="checkbox" name="checkbox">';
  9. }
  10. elseif($stan == on)
  11. {
  12. echo '<input type="checkbox" class="checkbox" name="checkbox" checked="checked">';
  13. }
  14. ?>
  15. <input type="submit" value="Save">
  16. </form>

to ma się samo zmieniać
trueblue
Jeśli nie masz value dla checkboxa, to będzie wysyłać wartość "on" w przypadku gdy jest checked.
Jeśli nie jest checked, nigdy nie jest wysyłany jako parametr.

EDIT:
$stan == 'on'
Gitrix
  1. <a href="" class="checkbox" id="

jak wynika z kodu samo się ustawia id,a więc html nie ma tu nic do tego
trueblue
Nie wspominałem o id, tylko o value. Jeśli checkbox nie ma tego atrybutu, a jest wysyłany jako checked, to parametr przyjmuje wartość "on".

Natomiast w kodzie php źle porównujesz zmienną.
Gitrix
to jak mam to zrobić?
bo próbuje i próbuje i nic
trueblue
Dodać atrybut value do obydwu typów checkboxów generowanych w php.
Np. value="1".
I poprawić porównanie on. Off nie jest potrzebne, a wręcz niepoprawne, według tego co pisałem wyżej.
Gitrix
ale gdy ustawia w php value="1" to nawet gdy zmienię przycisk na off nadal będzie miało wartosć 1

EDIT
dobra kapuje o co chodzi,ale w off nadal nie przekazuje się zmienna mimo to,że wpisałem value
on działa bez zarzutów

EDIT

poddaję się
trueblue
Nie przekazuje, więc jest off.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.