Ergebnis 1 bis 15 von 15
  1. #1
    Pioneer-Design ist offline Grünschnabel
    registriert
    07-10-2011
    Beiträge
    3

    Problem mit String Array - IE

    Hallo erstmal,

    ich bin neu auf diesem Board und bin gerade dabei mir Javascript anzueignen. Jedoch bin ich auf ein Problem gestoßen, dass ich auch nach einigen Stunden nicht zu lösen vermag. Es lautet wie folgt:

    Ich habe drei string arrays, die sehen so aus:
    Code:
    var carclass = new Array()
    	carclass[0] = "<ul><li>B</li></ul>";
    	carclass[1] = "<ul><li>BE</li></ul>";
    	carclass[2] = "<ul><li>A1</li></ul>";
    	carclass[3] = "<ul><li>A</li></ul>";
    	carclass[4] = "<ul><li>M</li></ul>"
    	carclass[5] = "<ul><li>Mofa</li></ul>";
    
    var carreq = new Array("<ul><li>Alter: 18 Jahre</li></ul>","<ul><li>Alter: 18 Jahre</li><li>Vorraussetzung: B</li></ul>","<ul><li>Alter: 16 Jahre</li></ul>","<ul><li>Alter: 18 Jahre</li><li>Direkteinstieg ab 25 Jahre</ul>","<ul><li>Alter: 15</li></ul>","<ul><li>Alter: 16 Jahre</li></ul>");
    
    var carinfo = new Array("<ul><li>Kraftwagen bis 3,5t z.G., bis 8 Sitzplätze (außer Fahrer)</li><li>Eingeschlossen: L, M, S</li><li>Anhänger bis 0,75t z.G. oder Züge bis 3,5t z.G.</li></ul>",
    					"<ul><li>Züge aus B-Zugfahrzeug und Anhänger über 0,75t z.G.</li><li>Bei Lkw mit durchgehender Bremsanlage und bestimmten Geländefahrzeugen darf die Anhänglast höchstens das 1,5fache der z.G. des Zugfahrzeuges betragen.</li></ul>",
    					"<ul><li>Krafträder bis 125ccm, bis 11kW</li><li>Eingeschlossen: M</li><li>Beschränkt auf 80km/h für 16- und 17-Jährige.</li></ul>",
    					"<lu><li>Krafträder, auch mit Beiwagen, über 50ccm oder über 45km/h</li><li>Eingeschlossen: A1, M</li><li>Zwei Jahre leistungsbeschränkt bis 25 kW und bis 0,61kW/kg (Leistung/Leermasse)</ul>",
    					"<ul><li>Zweirädrige Kleinkrafträder und Fahrräder mit Hilfmotor bis 50 ccm und bis 45km/h</li><li>Kein Eintrag bei Prüfung auf Kfz mit automatischer Kraftübertragung</li></ul>",
    					"<ul><li>Keine Fahrerlaubnis, lediglich eine Prüfbescheinigung</li><li>Höchstgeschwindigkeit 25km/h</li></ul>");
    
    var imgsrc = new Array("Golf6.jpg","VW-Tiguan-Automatik.jpg","Kawasaki.jpg","Kawasaki.jpg","Roller.jpg","Mofa.jpg");
    (Die Spaces verrutschen etwas wegen dem copy/paste, sorry)

    Dann habe ich die Funktion:

    Code:
    function updateEverything(x)
    {
    	document.getElementById("klasse").innerHTML=carclass[x];
    	document.getElementById("bedingung").innerHTML=carreq[x];
    	document.getElementById("bemerkung").innerHTML=carinfo[x];
    	document.images["autoimg"].src="http://forum.jswelt.de/images/"+imgsrc[x];	
    	if(x>3){
    		document.getElementById("autotry").style.styleFloat = "right";
    		document.getElementById("autotry").style.cssFloat = "right";
    	} else {
    		document.getElementById("autotry").style.styleFloat="none";
    		document.getElementById("autotry").style.cssFloat = "none";
    	}
    }
    Theoretisch soll das einfach den Inhalt von folgendes anpassen je nachdem was als "x" in Frage kommt:

    Code:
    <td>
    	<div id="autotry" style="text-align:center;"><img name="autoimg" src="http://forum.jswelt.de/images/Golf6.jpg"></img></div>
    	<h2>Klasse:</h2>
    	<p class="BodyText" style="margin-left:15px;" id="klasse"></h2>
    	<h2>Bedingung:</h2>
    	<p class="BodyText" style="margin-left:15px;" id="bedingung">
    	</p>
    	<h2>Bemerkung:</h2>
    	<p class="BodyText" style="margin-left:15px;" id="bemerkung"></p>
    </td>
    Soweit so gut. Auf Firefox funktioniert das auch einwandfrei, nur leider macht der IE wiedermal faxen und zeigt konsequent GARNICHTS an, also ob die arrays leer wären. (Edit: WICHTIG: es funktioniert im offline Modus, nur nicht wenn ich es hoch geladen habe!!) Wenn ich allerdings carclass.length; in dem "p"-tag wiedergebe gibt es mir den richtigen Wert wieder, sprich das Array müsste eigentlich richtig aufgestellt sein und mit firefox funktioniert es ja auch, aber iwie will der explorer nicht. Habe ich irgendwas IE spezifisches übersehen wir urpsrünglich "styleFloat" bei der style anpassung?

    das ganze wird übrigends schon zu begin durch onload geladen:

    Code:
    <body onload="javascript:updateEverything(1)">
    Schonmal vielen vielen Dank.

  2. #2
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

  3. #3
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.579

    AW: Problem mit String Array - IE

    Welche DocType verwendest du?

  4. #4
    Pioneer-Design ist offline Grünschnabel
    registriert
    07-10-2011
    Beiträge
    3

    AW: Problem mit String Array - IE

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

    Hmm, Fehlerkonsole sagt Unbekannter Laufzeitfehler in der Zeile mit document.getElementById("klasse").innerHTML=carclass[x];
    damit bin ich leider nicht weiter

  5. #5
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.579

    AW: Problem mit String Array - IE

    1. Dein HTML in invalide (z.B. das #klasse fängt mit <p> an und hört mit </h2> auf).
    2. Der IE mag es nicht, wenn man mit JS invalides HTML erzeugt, was du mit deinem JS dann auch noch tust.

  6. #6
    Pioneer-Design ist offline Grünschnabel
    registriert
    07-10-2011
    Beiträge
    3

    AW: Problem mit String Array - IE

    1. Die Sache mit dem <p> tag hab ich mittlerweile auch entdeckt, nur leider löst es das Problem nicht.
    2. Der Begriff "invalides HTML" ist mir neu, ich geh davon aus, dass es einfach HTML Tags in einem JS String sind? Gibt es brauchbare alternativen abgesehen von jeden Unterpunkt mit einer seperaten ID zu versehen und je nach dem ob er gebraucht wird oder nicht zu verstecken? Das stell ich mir ziemlich nervtötend und umständlich vor. Schonmal ein dickes Dankeschön.

    Edit: Okay, ich werde das ganze einfach dann wohl doch mit Php ergänzen. Php um mir die korrekte Anzahl von Unterpunkten zu liefern und die arrays mit den HTML Tags einfach um eine Dimension erweitern. Auf jeden Fall vielen Dank für die Hilfe, hoffentlich funktionierts.
    Geändert von Pioneer-Design (07-10-2011 um 13:37 Uhr)

  7. #7
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.579

    AW: Problem mit String Array - IE

    HTML hat Regeln, die zu beachten sind. Wenn diese nicht beachtet werden, spricht man von invalidem HTML - hat nichts mit Strings in JS zu tun.

  8. #8
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: Problem mit String Array - IE

    Zitat Zitat von Pioneer-Design Beitrag anzeigen
    Hmm, Fehlerkonsole sagt Unbekannter Laufzeitfehler in der Zeile mit document.getElementById("klasse").innerHTML=carclass[x];
    damit bin ich leider nicht weiter
    Sowas passiert im IE in dem zusammenhang z.b. wenn du versuchst eine Tabellereihe mit innerHTML zu beschreiben. Allerdings ist in deinem Beispiel 'klasse' eine Überschrift, insofern ist der Fehler nicht mit deinem Code erklärbar.

  9. #9
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.579

    AW: Problem mit String Array - IE

    Nö - "klasse" war ein <p> und er wollte ein <ul> da reinpacken...

  10. #10
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: Problem mit String Array - IE

    Ja, ich seh's grade der HTML Code ist dermassen ungültig, dass es schwierig ist daruas zu lesen was der IE wohl macht. aber in ein p-Element ein Liste zu packen, sollte kein Problem sein auch wenn es nicht valide ist. Trotzdem wäre es hilreicher wenn wir ein Beispiel sehen könnten, mit dem man das Problem auch nachvollziehen kann.

  11. #11
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.579

    AW: Problem mit String Array - IE

    Nö - IE < 9 erlaubt kein invalide HTML-Zuweisung mit innerHTML:
    Code:
    <!DOCTYPE html>
    
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <title>Fenstertitel</title>
    <style type="text/css"></style>
    </head>
    <body>
    <p id="test"></p>
    <script type="text/javascript">
    document.getElementById("test").innerHTML = "<ul><li>eins</li><li>zwei</li></ul>";
    </script>
    </body>
    </html>

  12. #12
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: Problem mit String Array - IE

    Ich kann es mangels IE (ubuntu) grad nicht testen, aber das geht wirklich nicht?

  13. #13
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.579

    AW: Problem mit String Array - IE

    Im IE9 schon. Aber darunter nicht. Glaub's mir.
    Warum so skeptisch?

    PS: also wirklich. Installier' dir doch endlich mal ein gescheites OS, auf dem auch der IE6 läuft!

  14. #14
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: Problem mit String Array - IE

    Hab ich ja, aber ich schmeiss dafür jetzt nicht den alten Rechner an

    So skeptisch bin ich, weil ich's anders in Erinnerung hatte.

  15. #15
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.579

    AW: Problem mit String Array - IE

    Hab' jetzt nochmal das viruelle XP mit wirklichem IE7 (hab' vorher im IE9 in den anderen Modi probiert) gestartet - funktioniert nicht.
    Aber man sollte sich nie auf invalides HTML verlassen.

Ähnliche Themen

  1. Javascript-Array in JSON-String umwandeln
    Von trashmaxx im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 07-09-2010, 02:20
  2. String Array auswerten
    Von mess im Forum JavaScript
    Antworten: 13
    Letzter Beitrag: 17-08-2009, 13:50
  3. array.length bei string index
    Von Dulla_Po im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 28-02-2008, 14:34
  4. string in char-array umwandeln
    Von smbdyclldlcs im Forum JavaScript
    Antworten: 11
    Letzter Beitrag: 07-07-2007, 15:17
  5. string array sortieren
    Von Spezialist im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 14-11-2004, 13:22

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •