Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][JavaScript]Walidacja Checkboxa
Forum PHP.pl > Forum > Przedszkole
bubus_s
Witam.

Posiadam o to taki formularz z checkboxem
  1. <form name="subscribeform" class="cmxform" id="rej1" method="post" action="http://myweb.pl/skrypt.php">
  2. //formularz
  3.  
  4. //checkbox
  5. <input type="checkbox" class="checkbox" id="agree" name="agree" validate="required:true" />
  6. <br/>
  7.  
  8. Akceptuje <a href="http://myweb.pl/regulamin">regulamin</a> i <a href="http://myweb.pl/regulamin">polityke prywatnosci</a>
  9.  
  10. <label for="agree" class="error block">Zakceptuj Regulamin</label>
  11. </form>
  12.  


Do tego css:
  1. label{ width: 100px; float: left; }
  2. label.error { float: none; color: red; padding-left: 15px; vertical-align: top;}
  3. p { clear: both; }
  4. label.sprawdzony {float: none; background:url("sprawdzony.png") no-repeat 0px 0px; margin-left: 5px; padding-left: 10px;}


No i dorzućmy js
[JAVASCRIPT] pobierz, plaintext
  1. <script type="text/javascript">
  2.  
  3.  
  4. $.metadata.setType("attr", "validate");
  5.  
  6. $(document).ready(function() {
  7.  
  8. $("#rej1").validate();
  9.  
  10. });
  11. </script>
[JAVASCRIPT] pobierz, plaintext


Chce teraz dodać jeżeli checkbox będzie zaznaczony
wyświetlała się grafika taka fajeczka.
W css mam już to zrobione
Teraz do tego kodu js według mnie trzeba dodać jakąś klase czy coś.
Nie wiem jak to zrobić.
tehaha
możesz użyć tutaj http://api.jquery.com/click/ wewnątrz dajesz warunek if/else, jeżeli checkbox jest zaznaczony to wyświetlasz obrazek
flashdev
Cytat(tehaha @ 31.08.2010, 18:26:46 ) *
możesz użyć tutaj http://api.jquery.com/click/ wewnątrz dajesz warunek if/else, jeżeli checkbox jest zaznaczony to wyświetlasz obrazek


@bubus_s zdecydowanie powinieneś użyć zdarzenia onchange (jQuery: change). Zdarzenie click ma tę wadę, że stan checkboxa można zmieniać również przy pomocy klawiatury.
Click naturalnie tego nie wykryje.

Edit:
Kod
// jQuery
$('#checkbox').change(function(){
var className = 'nazwa_klasy_css';
var id = 'id_obiektu';
if( $(this).attr('checked') ){
$('#'+id).addClass(className);
}else{
$('#'+id).removeClass(className);
}
});
bubus_s
Zrobiłem coś takiego

[JAVASCRIPT] pobierz, plaintext
  1. <script type="text/javascript">
  2.  
  3.  
  4. $.metadata.setType("attr", "validate");
  5.  
  6. $(document).ready(function() {
  7.  
  8. $("#rej1").validate();
  9. $("#rejestracja2").validate();
  10. $('#checkbox').change(function(){
  11. var className = 'sprawdzony';
  12. var id = 'agree';
  13. if( $(this).attr('checked') ){
  14. $('#'+id).addClass(sprawdzony);
  15. }else{
  16. $('#'+id).removeClass(sprawdzony);
  17. }
  18. });
  19. });
  20. </script>
[JAVASCRIPT] pobierz, plaintext


Gdzie sprawdzony to nazwa klasy
a agree to id Checkboxa.
Coś nie działa ?
Jest ktoś wstanie pomóc?
flashdev
Cytat(bubus_s @ 31.08.2010, 22:06:36 ) *
[...]
Gdzie sprawdzony to nazwa klasy
a agree to id Checkboxa.
Coś nie działa ?
Jest ktoś wstanie pomóc?


No jak na razie to praktycznie przepisałeś mój kod, więc musiał bym Ci znaleźć błąd w swoim prawidłowo napisanym kodzie. Bez sensu nieprawdaż?
bubus_s
Prawda Prawda.

Znając życie w złym miejscu wstawiłem czy coś.

Nie znam Podstaw Js ani Jquery dlatego takie są skutki.

Zależy mi na pomocy.
Jeszcze po rozpoczęciu coś popróbuję ale wątpię żeby się udało.
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.