Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]12852[/thread]

"Check All" Button bei CGI und Checkboxen (Seite 2)



<< |< 1 2 >| >> 15 Einträge, 2 Seiten
tecker
 2008-12-07 18:59
#116934 #116934
User since
2008-02-26
77 Artikel
BenutzerIn
[Homepage] [default_avatar]
Mache ich für gewöhnlich auch, also Mouseover-Effekte etc. über CSS. Hatte nur ein wenig mit den JS-Events rumgespielt, daher ist das noch drin. Das kürzen werde ich mal übernehmen ... stecke noch nicht so ganz drin im JS ;-)

Wie meinst du das mit dem zuweisen eines Eventhandlers an den Button. Wie würde es aussehen und was würde sich ändern @ GwenDragon?
Struppi
 2008-12-07 22:12
#116949 #116949
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
Du müßtest den Button eine ID geben (zumindest wäre das der einfachste Weg) und dann nach dem laden der Seite oder im HTML Code hinter den Button ein Skript ausführen, das den onclick Handler dynamisch zuweist.

Das sähe z.b. so aus:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
window.onload = function() {
var el;

el = getElementById('button_on');
if(el) el.onclick = function(){
checkAll(this.form.host)
};
el = getElementById('button_off');
if(el) el.onclick = function(){
uncheckAll(this.form.host)
};

}
tecker
 2008-12-08 16:52
#116974 #116974
User since
2008-02-26
77 Artikel
BenutzerIn
[Homepage] [default_avatar]
Ok danke,
habe aus getElementById mal noch document.getElementById gemacht.
Funktioniert zwar beides aber so bekomme ich keine "getElementById is not defined" Fehlermeldung im Firebug angzeigt.
GwenDragon
 2008-12-08 17:09
#116978 #116978
User since
2005-01-17
14837 Artikel
Admin1
[Homepage]
user image
Mit window.onload = überschreibst du einen schon existierenden onload-Handler. Wenn das ok ist?


addEventListener bzw. attachEvent wäre sicherer.
Struppi
 2008-12-08 17:31
#116982 #116982
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
oder
Code: (dl )
1
2
3
4
5
6
7
function addOnload(f) {
var old = window.onload;
window.onload = function() {
if(old) old();
f();
};
}

Das funktioniert dann auch wieder in allen Browsern.

Stimmt das document hab ich vergessen, weil ich an dieser Stelle zuerst eine selbstgeschriebene Funktion hatte.
<< |< 1 2 >| >> 15 Einträge, 2 Seiten



View all threads created 2008-12-02 17:38.