Checkboxname.checked = true; Checkbox nicht gechecked
Wendtslaw
- javascript
Ich hab ein ich glaube relativ simples Problem, ich versteh nur einfach nicht, wieso es nicht funktioniert.
Ich habe eine Javascriptfunktion, die dynamisch Checkboxen erzeugt, jedoch schaffe ich es nicht, dass diese Checkboxen dann auch gesetzt sind
for (var i = 0; i < ausstIDs.length; i++){
var TDAusst = document.createElement("td");
TDAusst.align = "center";
var AusstText = document.createElement("input");
AusstText.type = "checkbox";
AusstText.name = ausstIDs[i]+"_ausst_"+counter;
//if (searchAusst(savedAusst, ausstIDs[i]){
AusstText.checked=true; // <- Problem da!
//}
TDAusst.appendChild(AusstText);
newTR.appendChild(TDAusst);
}
Das auskommentierte "searchAusst(...)" prüft nachher ob die Checkbox gesetzt werden soll oder nicht, aber zu Testzwecken habe ich das erstmal auskommentiert.
Naja und "AusstText.checked=true;" funktioniert nun einfach nicht, liegt es daran, dass die dynamisch erzeugt ist?
Theoretisch müsste er ja nun alle erzeugten Checkboxen markieren, er markiert aber keine einzige.
Ich habe eine Javascriptfunktion, die dynamisch Checkboxen erzeugt, jedoch schaffe ich es nicht, dass diese Checkboxen dann auch gesetzt sind
Du meinst der IE schafft es nicht.
Du kannst es aber umgehen, wenn du die Box nach dem einfügen in das Dokument auf checked setzt. Ansonsten musst du dem IE diese Variante anbieten:
document.createElement('<input .... checked>');
Was aber in anderen Browsern zu einer Fehlermeldung führt, d.h. entweder mit try catch arbeiten oder mit /@cc_on .. @/
Struppi.
Du meinst der IE schafft es nicht.
Du kannst es aber umgehen, wenn du die Box nach dem einfügen in das Dokument auf checked setzt. Ansonsten musst du dem IE diese Variante anbieten:
document.createElement('<input .... checked>');
»»
Struppi.
hm stimmt, mitm Mozilla klappt es, meinst du, wenn ich am ende:
document.getElementById("15_ausst_1").checked = true;
schreibe, sollte es funktionieren?
Hi!
meinst du, wenn ich am ende:
document.getElementById("15_ausst_1").checked = true;
schreibe, sollte es funktionieren?
Meinst Du, man könnte es eventuell einfach mal ausprobieren?
off:PP
Hi!
meinst du, wenn ich am ende:
document.getElementById("15_ausst_1").checked = true;
schreibe, sollte es funktionieren?
Meinst Du, man könnte es eventuell einfach mal ausprobieren?
off:PP
Ich mein das könnte ich mal und es hat nicht funktioniert^^
Ich hab´s nun mit ner Browserweiche gemacht, find ich zwar selbst doof, aber das war nun der einfachste Weg.
Kann mir jemand sagen, ob nur der IE sich damit nicht zufrieden gibt oder ob da auch noch andere Browser drauf allergisch reagieren?
Im Moment habe ich (geht im IE und Mozilla):
if(navigator.appName == "Microsoft Internet Explorer"){
var checker = "";
var AusstText = document.createElement("<input type='checkbox' name='"+ausstIDs[i]+"_ausst_"+counter+"' checked>");
} else {
var AusstText = document.createElement("input");
AusstText.type = "checkbox";
AusstText.name = ausstIDs[i]+"_ausst_"+counter;
AusstText.checked=true;
}
Aber wenn andere Browser das auch anders sehen, sollte ich nach möglichkeit auch für die eine passende Variante hinzufügen^^
Hi,
Kann mir jemand sagen, ob nur der IE sich damit nicht zufrieden gibt oder ob da auch noch andere Browser drauf allergisch reagieren?
if(navigator.appName == "Microsoft Internet Explorer"){
bei jeder Abfrage, die sich des navigator-Objektes bedient, musst Du davon ausgehen, eine potenzielle Fehlerquote von 100% zu haben.
Cheatah
Hi,
Kann mir jemand sagen, ob nur der IE sich damit nicht zufrieden gibt oder ob da auch noch andere Browser drauf allergisch reagieren?
if(navigator.appName == "Microsoft Internet Explorer"){bei jeder Abfrage, die sich des navigator-Objektes bedient, musst Du davon ausgehen, eine potenzielle Fehlerquote von 100% zu haben.
Cheatah
Ich hab ja selbst gesagt, dass ich das mit der Browserweiche nicht so prickelnd finde, aber sagen wir es so, wenn mir jemand daraus ne bessere Alternative basteln kann, als das was ich hier nun habe, sei ihm mein ewiger Dank verschrieben :D
if(navigator.appName == "Microsoft Internet Explorer"){
var checker = "";
var AusstText = document.createElement("<input type='checkbox' name='"+ausstIDs[i]+"_ausst_"+counter+"' checked>");
} else {
var AusstText = document.createElement("input");
AusstText.type = "checkbox";
AusstText.name = ausstIDs[i]+"_ausst_"+counter;
AusstText.checked=true;
}
Gruß,
Wendtslaw
Ich hab ja selbst gesagt, dass ich das mit der Browserweiche nicht so prickelnd finde,
Ich hatte dir bereits zwei Alternativen gesagt, aber prickelnd ist keine Lösung.
Struppi.
Ich hatte dir bereits zwei Alternativen gesagt, aber prickelnd ist keine Lösung.
Struppi.
Hallo Welt,
Wenn ich das richtig sehe bezieht sich das auf das hier:
Du kannst es aber umgehen, wenn du die Box >nach dem Einfügen< in das Dokument auf checked setzt.
Probiers doch mal aus...
Gruß Mike
Wenn ich das richtig sehe bezieht sich das auf das hier:
Nein, tut es nicht, sondern auf das:
Was aber in anderen Browsern zu einer Fehlermeldung führt, d.h. entweder mit try catch arbeiten oder mit /*@cc_on .. @*/
Struppi.