checkbox állapotától függő css class IE
sziasztok!
csinálok egy regisztrációs form-ot (Drupal 5, formAPI)
alapesetben keresztnév, email + 2 checkbox van a form-ban.
http://www.mhn.hu/drupal/form
az egyik (Nem magánszemélyként regisztrálok) checkbox-ra kattintva megjelenik még két textfield (vezetéknév, lakcím)
az eltüntetést úgy oldottam meg, hogy a 2 befoglaló <div> kap egy private/notprivate class-t, ahol a notprivate class display: none formában van kilőve
ez jól működik FF3, Opera 10, Chrome2 böngészőkben.
viszont IE-ben, az első kattintásra kiveszi a pipát a négyzetből és még1x kattintani kell, hogy megjelenjen vagy épp eltünjön a 2 új textfield
van vkinek ötlete, h mi lehet a gond?
előre is köszönöm!
js kód:
■ csinálok egy regisztrációs form-ot (Drupal 5, formAPI)
alapesetben keresztnév, email + 2 checkbox van a form-ban.
http://www.mhn.hu/drupal/form
az egyik (Nem magánszemélyként regisztrálok) checkbox-ra kattintva megjelenik még két textfield (vezetéknév, lakcím)
az eltüntetést úgy oldottam meg, hogy a 2 befoglaló <div> kap egy private/notprivate class-t, ahol a notprivate class display: none formában van kilőve
ez jól működik FF3, Opera 10, Chrome2 böngészőkben.
viszont IE-ben, az első kattintásra kiveszi a pipát a négyzetből és még1x kattintani kell, hogy megjelenjen vagy épp eltünjön a 2 új textfield
van vkinek ötlete, h mi lehet a gond?
előre is köszönöm!
js kód:
- if(Drupal.jsEnabled){
- $(document).ready(reg_form_init);
- }
- function reg_form_init(){
- var element = document.getElementById('familyname');
- var element2= document.getElementById('address');
- var checkbox = document.getElementById('edit-private-private');
- if (checkbox.checked) {
- c = 'notprivate';
- } else {
- c = 'private';
- }
- element.className = c;
- element2.className = c;
- $('#edit-private-private').change(function(){
- if (checkbox.checked) {
- c = 'notprivate';
- } else {
- c = 'private';
- }
- element.className = c;
- element2.className = c;
- });
- }
tipp
Azaz akkor pontosítsunk: van a két checkbox, ami(k)nek ugye van "default" értéke, és ennek állítása valahol.
Valószínű, ha FF, és Chrome alapból üresen hagyja mindkettőt - ami a "default" értéknek felel meg - akkor valami IE bug lehet az oka. Esetlegesen próbáld meg valahol nyomatékosítani, h az alapértékük 0.
Javaslom guglizz "ie checkbox default bug drupal" irányokban és talán találsz valamit :)
De mint említettem ez csak gondolatébresztő tipp
Sztem azzal lehet a baj hogy
Ha nem tévedek onchange-hez van kötve, így csak akkor fut le a függvény ha a másik elemre kattintasz, ezt úgy lehet orvosolni, hogy onclick eseményhez rendeled a függvényt.
Remélem jól gondolom és tényleg ez a hiba, ha mégsem akkor használd az én megoldásom.
ie bug
Nem ismerem a Drupal-t de én
igen, a change eseményt nem
ezt módotsítva:
$('#edit-private-private').change(function(){
így:
$('#edit-private-private').click(function(){
már megy is minden böngészőben :)
köszönöm!!!
már tegnap kész volt a form, de ma az egész nap azzal ment el, hogy h*lye IE-ben is működjön.