Sigge: Probleme mit Mozilla FF

Hallo liebes Forum,
mittels dropdown im frame_links rufe ich im frame_detail eine Seite auf:

function wahl(){
 if (handel == true){
  var s = document.form_auswahl.warengruppe.value;
  if (s != ""){
   parent.s = s
   parent.detail.location.href="frame_liste.htm";
  }
 }else{
 alert ("Sie müssen sich zuerst einloggen!");
 }
 document.form_auswahl.warengruppe.selectedIndex = 0;
}

Das Funktioniert!
Das fuellen des frame_liste, mittels unten stehender Routine, funktioniert sowohl unter Opera als auch beim IE.
Unter FF rührt sich allerdings absolut nichts.
Vielleicht kann mir ja jemand sagen, wo hier der Hase im Pfeffer begraben ist! Kann etwa FF nichts mit window.setTimeout... anfangen?

<script language="JavaScript">

var s = parent.s
window.setTimeout("fuellen()",200)
function fuellen(){

//--> Datenzugriff aus datei.js

var sElem = document.createElement('script');
   sElem.type = 'text/javascript';
   sElem.src = parent.s + ".js";
   document.getElementsByTagName('head')[0].appendChild(sElem);

var Neu = "<font color='red' size='3' face='Arial'><b>" + (kennung[0]['namen']) + "</b></font>";
 document.all.gruppe.innerHTML = Neu;

//--> Bilder aus Datei.js einfügen
 var i, bild;
 for (i= 0 ; i <= 9; ++i){
 bild = "bilder/" + s + "/" + (kennung[i]["bild"]) + ".gif";
 p_bild = new Image();
 p_bild.src = bild
 document.images[i].src = p_bild.src
 }
 //--> Texte aus Datei.js einfügen
 for (i= 0 ; i <= 8; ++i){
 document.forms[i].form_namen.value = (kennung[i+1]["namen"])
 document.forms[i].form_ergaenz.value = (kennung[i+1]["ergaenz"])
 document.forms[i].form_angaben.value = (kennung[i+1]["angaben"])
 if ((kennung[i+1]["preis"])== ""){
 document.forms[i].form_preis.value = ""
 }else
 if (isNaN(kennung[i+1]["preis"])){
 document.forms[i].form_preis.value = (kennung[i+1]["preis"])
 }else{
 document.forms[i].form_preis.value = ("Preis: "+(kennung[i+1]["preis"])+",- €")
 }
 }
}

Sigge

  1. Das fuellen des frame_liste, mittels unten stehender Routine, funktioniert sowohl unter Opera als auch beim IE.
    Unter FF rührt sich allerdings absolut nichts.

    auch nicht in der Fehlerkonsole?

    Vielleicht kann mir ja jemand sagen, wo hier der Hase im Pfeffer begraben ist! Kann etwa FF nichts mit window.setTimeout... anfangen?

    Natürlich kann er.

    Struppi.

  2. Versuch mal eine Alternative zu document.all zu verwenden.

  3. Hallo,

    mittels dropdown im frame_links rufe ich im frame_detail eine Seite auf:

    du weißt aber schon, dass du dir mit der Verwendung von Frames selbst das Leben schwer machst? Deinen Besuchern eventuell auch.

    function wahl(){
    if (handel == true){

    Schon hier drängen sich mir zwei Kommentare auf.
    Ertens: Wo kommt plötzlich die globale Variable handel her?
    Zweitens: Das kann man kürzer und verständlicher schreiben:

    if (handel)

    Der explizite Vergleich auf ==true ist überflüssig und in manchen Fällen sogar eine Fehlerquelle.

    Das fuellen des frame_liste, mittels unten stehender Routine, funktioniert sowohl unter Opera als auch beim IE.
    Unter FF rührt sich allerdings absolut nichts.

    Vielleicht in der fehlerhaften Einleitung des script-Blocks?

    <script language="JavaScript">

    Das language-Attribut gehört ins Museum, dafür fehlt das erforderliche type-Attribut.

    var Neu = "<font color='red' size='3' face='Arial'><b>" + (kennung[0]['namen']) + "</b></font>";

    Oops ... du hast vor ungefähr zehn Jahren HTML gelernt? Das font-Element ist deprecated (veraltet), sowas macht man heutzutage mit CSS.

    document.all.gruppe.innerHTML = Neu;

    Ach so, das Script ist ausschließlich für den IE4. Verstehe. Klar, sonst bräuchte man das von MS erfundene all-Objekt ja nicht.
    Aber vielleicht möchtest du das Script mal auf einen halbwegs aktuellen Stand bringen?

    So long,
     Martin

    --
    Wer im Glashaus sitzt, sollte Spaß am Fensterputzen haben.