innerHTML macht irgendwas
Christoph
- javascript
Ich habe ein kleines Problem
Ich verstehe nicht ganz wie das mit dem innerHTML abläuft
Jeder Browser agiert anders.
Ich schildere mal mein Problem
Ich habe
<select size="7" name="allvoks" id="allvoks" onClick="show(this.value)" width="200">
<option value="no" disabled>--------</option>
</select>
Hier wird nach jedem Eintrag ein OPTION hinzugefügt
var neuEintrag = new Option(txt,iid,false,false); // Eintrag in SELECT
document.getElementById("allvoks").options[document.getElementById("allvoks").length] = neuEintrag;
Ich möchte einen Eintrag löschen
Er soll auch aus dem SELECT gelöscht warden
Ich suche ihn und ersetze ihn mit nichts
Dann habe ich mir mit einem ALERT ausgegeben wie der neue inhalt aussieht.
Er sieht genau so aus wie er sein sollte - das eine OPTION ist weg - so sollte es sein.
Doch wenn ich nun mit
....innerHTML = new String(inhalt);
Und mir danach den Inhalt des SELECTs ausgebe
Ist beim IE
Das erste <OPTION> weg
Also nur noch -----</OPTION>.
Bei Opera funktioniert alles
Bei Mozilla Firebird 0.7
Verschwinden alle TAGs als wäre es innerText und nicht innerHTML
Ich verstehe das nicht
Christoph aus Wien
Ich habe ein kleines Problem
Ich verstehe nicht ganz wie das mit dem innerHTML abläuft
Jeder Browser agiert anders.
du beschreibst den Inhalt eines Elementes neu und es gibt Browser denen eine gültige Syntax egal ist.
var neuEintrag = new Option(txt,iid,false,false); // Eintrag in SELECT
document.getElementById("allvoks").options[document.getElementById("allvoks").length] = neuEintrag;
das ist soweit ok, wobei ich die document.forms[] verwenden würde da es schneller und rückwärtskompatibel ist.
Ich suche ihn und ersetze ihn mit nichts
Dann habe ich mir mit einem ALERT ausgegeben wie der neue inhalt aussieht.
Er sieht genau so aus wie er sein sollte - das eine OPTION ist weg - so sollte es sein.
....innerHTML = new String(inhalt);
die Frage ist, was steht in inhalt?
Ist beim IE
Das erste <OPTION> weg
Also nur noch -----</OPTION>.
ich nehme an es sthe in inahlt nur '-----</OPTION>'?
Bei Opera funktioniert alles
soweit ich weiß fügt Opera den Inhalt fälschlicherweise hinzu.
Bei Mozilla Firebird 0.7
Verschwinden alle TAGs als wäre es innerText und nicht innerHTML
Ich vermute es ist kein gültiges HTML was du mit innerHTML ersetzt.
Ich verstehe das nicht
Für alles gibt es eine Erklärung ;-)
Struppi.
das ist soweit ok, wobei ich die document.forms[] verwenden würde da es schneller und rückwärtskompatibel ist.
gut das werde ich ändern
Ich suche ihn und ersetze ihn mit nichts
Dann habe ich mir mit einem ALERT ausgegeben wie der neue inhalt aussieht.
Er sieht genau so aus wie er sein sollte - das eine OPTION ist weg - so sollte es sein.....innerHTML = new String(inhalt);
die Frage ist, was steht in inhalt?
in inhalt steht das was ich mit innerHTML ausgelesen habe, also mehrere OPTION Tags wobei ich nun schon eines rausgegeben habe und der ganze inhalt ist toLowerCase()
also inhalt ist zum Beispiel "<option value="no" disabled>--------</option><option value="2">hello - hallo</option><option value="3">yes - ja</option>"
Ist beim IE
Das erste <OPTION> weg
Also nur noch -----</OPTION>.ich nehme an es sthe in inahlt nur '-----</OPTION>'?
ja also '------</OPTION><OPTION value="2>hello - hallo</OPTION>....
Bei Opera funktioniert alles
soweit ich weiß fügt Opera den Inhalt fälschlicherweise hinzu.
Bei Mozilla Firebird 0.7
Verschwinden alle TAGs als wäre es innerText und nicht innerHTMLIch vermute es ist kein gültiges HTML was du mit innerHTML ersetzt.
denke ich nicht
Ich verstehe das nicht
Für alles gibt es eine Erklärung ;-)
leider
Struppi.
Christoph aus Wien
Ich habe ein kleines Problem
stimmt! Du versuchst eine Lösung mit innerHTML. Meiner Meinug schießt Du Dir dabei von hinten durch die Brust ins Auge. Mit DOM-Methoden sollte das beschriebene Problem einfacher zu lösen sein.
Gruß
Avalon