dennisb: location.href nicht ohne alert()

Hallo leute...

ich habe eine cms system geschrieben und bin auf was gestossen was ich nicht ganz verstehe.
Über ein php script rufe ich ein javascript auf,das js überprüft was usw. nach der überprüfung (wenn alles ok) soll er anderes php script aufrufen und zwar mit location.href="delete.php?lfdn="+daten; .
Schön und gut soweit, aber js ignoriert die die location anweisung einfach.
Zuhause lief alles wunderbar,die location wurde ausgeführt aber hier auf der arbeit nicht.
Nach langem fehlersuchen habe ich hinter der location anweisung eine alert box
*
location.href="delete.php?lfdn="+daten;
alert("test");
*
gesetzt um zu sehen ob dort evtl das script abgebrochen wird, aber dann komischer weise wird location ausgeführt.Nehme ich die alert box weg, wird es wieder ignoriert.

Woran kann das liegen?

Danke wenn mir da einer was zu schreiben kann.

  1. hi,

    Über ein php script rufe ich ein javascript auf,das js überprüft was usw. nach der überprüfung (wenn alles ok) soll er anderes php script aufrufen und zwar mit location.href="delete.php?lfdn="+daten; .
    Schön und gut soweit, aber js ignoriert die die location anweisung einfach.

    Glaube ich nicht.
    Wer ist übrigens "er"?

    Woran kann das liegen?

    An deinem Code, den du uns zum vermutlich überwiegenden Teil verschwiegen hast.
    Die Tipps für Fragende geben zwar an, dass Quellcodes bitte "auf die für das Problem notwendigen Stellen reduziert" werden sollten - aber bitte auch nicht so weit, dass es zum Ratespiel wird.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. hallo wahsaga....

      ok, dann schreib mir welchen teil des codes du benötigst.
      hier ist die externe js datei die eingebunden wird:
      *
      function set(container)
      {

      if(confirm("Sind Sie sicher das Sie diesen Datensatz löschen wollen?"))
        {

      location.href="delete.php?lfdn="+container;

      }
      }
      *
      so funktioniert es nicht.ausser ich setzte hinter location eine alert box.

      1. Hallo,

        ok, dann schreib mir welchen teil des codes du benötigst.
        hier ist die externe js datei die eingebunden wird:
        *
        function set(container)
        {

        if(confirm("Sind Sie sicher das Sie diesen Datensatz löschen wollen?"))
          {

        location.href="delete.php?lfdn="+container;

        }
        }
        *
        so funktioniert es nicht.ausser ich setzte hinter location eine alert box.

        Wie geht man bei der Fehlersuche vor?

        Du bist der Meinung, den fehlerhaften Teil Deines Scriptes entdeckt zu haben, weil mit alert() "funktioniert" es und ohne nicht.

        Der nächste Schritt wäre nun, den scheinbar fehlerhaften Teil zu isolieren und somit endgültig festzustellen, ob es _wirklich_ an diesem Teil liegt und gleichzeigig auszuschließen, dass das alert() nur ein Problem in einem anderen Codeteil verdeckt, welches sonst zum Fehler führt.

          
        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"  
                "http://www.w3.org/TR/html4/strict.dtd">  
        <html>  
        <head>  
        <title>Titel</title>  
        <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">  
        <script type="text/javascript">  
        <!--  
        function set(container)  
        {  
          if(confirm("Sind Sie sicher das Sie diesen Datensatz löschen wollen?"))  
          {  
            location.href="delete.php?lfdn="+container;  
          }  
        }  
        //-->  
        </script>  
        </head>  
        <body>  
        <button onclick="set('C1')">C1 loeschen</button>  
        <button onclick="set('C2')">C2 loeschen</button>  
        </body>  
        </html>  
        
        

        Wie wir sehen, funktioniert der isolierte Teil wie gewünscht. Der Fehler wird also nicht durch diesen Codeabschnitt hervorgerufen. Fehlerauslösend muss also etwas anderes sein.

        Nun würde ich als nächstes prüfen inwieweit der Funktionsaufruf der Funktion set() sich in Deinem Script von dem im isolierten Schriptteil unterscheidet und ob der Fehlergrund eventuell dort liegen könnte.

        viele Grüße

        Axel