Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
[JavaScript] InnerHTML im IE [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
[JavaScript] InnerHTML im IE


 
prego
15-02-2006, 16:49 
 
Hi,

habe ein kleines Problem.
Ich tausche dynamisch den Inhalt von select-Boxen aus. Die Daten dazu stammen aus einem externen Script was per XMLHttpRequest Object geholt werden.
Ich tausche den Inhalt der SelectBox direkt aus - das heißt mit innerHTML.

Problem ist nun, das er IE beim austauschen des Inhalts der Selectbox den selbigen zerschiest.
Ich hab dazu mal ein Beispielscript gecodet: http://www.triebschicht.de/spielwiese/innerhtml.html

Drückt man im Firefox erst den "Austauschen" button und lässt sich dann den Inhalt der Selectbox anzeigen, ist alles OK - drei saubere options.

Das selbe im IE schlägt ohne JavaScriptfehler fehl.
Die Selectbox bleibt leer was verständlich ist, da der Inhalt zerschossen wird.

Jemand ne Idee woran es liegen könnte?


PS: Das Problem tritt auch im IE7 auf.

 
Abraxax
15-02-2006, 17:00 
 
meiner meinung nach machst du irgendwas falsch ....

http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#select

 
prego
15-02-2006, 17:10 
 
Hm, ok, dachte innerHTML wäre eine Universaleigenschaft - da lag ich anscheinend falsch. Wenn ich selfhtml richtig interpretiere darf man innerHTML nur auf dem body-Element benutzen - ist da korrekt?


Ok, also jede Option im Objekt selbst machen.
http://www.drweb.de/javascript/dynamische_dropdown_menues.shtml fand ich dazu in einem angrenzende Threas - nur leider ist option ja als "nur lesend" markiert - kann ich es trotzdem so machen? Oder schlägst du was anderes vor?

danks

 
prego
15-02-2006, 17:23 
 
Nochwas - style ist in der Liste auch nicht als Eigenschaft angegeben - und das kann ich ja wohl verändern, oder?

Auch im DOM-Inspector sehe ich eine Eigenschaft innerHTML - Im IE allerdings nicht.

Nachtrag: Opera macht auch ziemlichen Misst bei der Sache - wer Lust hat kann sichs ja mal anschauen.

 
prego
15-02-2006, 17:54 
 
So,

hab mich von innerHTML verbaschiedet und mache jetzt ordentlich Options innerhalb der Selects neu.


//XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<elements>
<elem>
<id>6</id>
<name>adqsdgsg</name>
</elem>
<elem>
<id>5</id>
<name>dieda</name>
</elem>
</elements>

//JavaScript
//e = SelectBox Element

var data = req.responseXML.getElementsByTagName('elem');
var nodeId;
var nodeName;

e.length = 0;
e.options[0] = new Option('', '');
for(i = 0; i < data.length; i++){
nodeId = data[i].getElementsByTagName('id')[0].firstChild.nodeValue;
nodeName = data[i].getElementsByTagName('name')[0].firstChild.nodeValue;

e.options[i+1] = new Option(nodeName, nodeId);
}



i+1 weil ich vorher noch ein Element leer fülle.
Für jegliche Verbesserungsvorschläge bin ich offen - und natürlich die Beantwortung meiner vorhergehenden Fragen ;)

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:31 Uhr.