Fehler beim wiederholten Klick eines Buttons

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Fehler beim wiederholten Klick eines Buttons

    Hallo zusammen,

    also ich öffne mit JavaScript ein Fenster mit window.open:

    winwerb = window.open("localhost/selection.php?action=setwerber","fachberater","width=450,height=120,left=100,top=200,scrollbars=1,st atus=yes");

    Das Ganze wird über JavaScript:document.form[0].submit() aufgerufen.

    Beim nochmaligen Drücken auf das Button wird vom Brwoser folgende Fehlermeldung generiert:

    Der aufgerufene Server nicht die Serveranwendung ist nicht verfügbar. Alle Verbindungen sind ungültig. Der Aufruf wurde nicht ausgeführt.

    Wieso kommt diese Meldung? Weshalb kann ich das Fenster nicht ein weiters Mal öffnen.

    Hab im Moment keine Ahnung. Wer kann helfen.

    Ein Reload möchte ich vermeiden, da die Liste im Browser unter Umständen über 1000 Einträge besitzt.

    mfg
    Wolfi

  • #2
    Grund gefunden

    Hallo zusammen,

    ich wollte nur mitteilen das ich den Fehler gefunden habe.
    Mein altes Coding sah so aus:

    VAR winfb = null;
    if(winfb == null) {
    winfb = window.open("$homeurl/einstieg.php?action=setfbnr&listnr=$listnr","fachberater","width=450,height=150,left=100,top=200,scr ollbars=1,status=yes");
    }
    winfb.focus();


    Das neue Coding:
    winfb = window.open("$homeurl/einstieg.php?action=setfbnr&listnr=$listnr","fachberater","width=450,height=150,left=100,top=200,scr ollbars=1,status=yes");
    winfb.focus();

    Nach dem ich die IF-Abfrage herausgenommen habe funzt es.
    Vermutlich ist die Variable winfb nicht mehr bekannt nach dem Aufruf, oder?
    Wer weiss warum sich der Browser so verhält?


    mfg
    Wolfi

    Kommentar


    • #3
      Hmmh... die Fehlerquelle ist schwer festzustellen, du hast leider nicht mitgeteilt, wie du den entsprechenden JavaScript-Code aufrufst. Ist er in einer Funktion gekapselt? Und wenn ja, auf welches Ereignis hin wird die Funktion aufgerufen?
      Außerdem ist immer gut zu wissen, mit welchem Browser der Fehler auftrat, aber ich tippe mal auf IE5.0 - 5.5, weil ich bei diesem Gerät ähnliche Fehlermeldungen erhielt.

      Der Code aus deinem ersten Beispiel geht bei mir - aber wie gesagt, es kommt höchstwahrscheinlich auf die Art an, wie man ihn aufruft. Generell sollte die Variable winfb weiterhin als Referenz für das neue Fenster vorhanden sein, es sei denn, du überschreibst sie irgendwo oder du läßt die Datei neuladen (was nach einem Formular-Submit durchaus möglich ist).

      VAR winfb = null;
      if(winfb == null) {
      Ist vermutlich nur ein Tippfehler, aber Variablen werden mit var deklariert, nicht mit VAR. Außerdem ist diese Bedingung immer wahr, weil du kurz vorher winfb auf null setzt... verstehe den Sinn davon deshalb nicht ganz...

      Kommentar


      • #4
        Fenster

        Hallo smeagol,

        habe vergessen zu sagen, das ich drei Frames geladen habe.

        Das setzen der Variablen auf null wird nur einmal durchgeführt.
        Beim wiederholten Auftruf wollte ich eigentlich nur ein SetFocus() ausführen und nicht neu laden.
        Mein Browser ist IE 5.5
        Habe eine Form definiert:
        Also ein Button wird angeklickt und damit die Formroutine an PHP übergeben.
        Der Aufruf ist JavaScriptarent.main.einstieg.submit()

        Vieleicht kannst du etwas mit den Informationen anfangen



        mfg
        Wolfi

        Kommentar


        • #5
          Fenster

          He,He,

          wie kommt der Smilie da rein. Sollte eigentlich parent heißen.


          Wolfi

          Kommentar


          • #6
            für sowas gibts den Button Code...

            Der Parser läßt nicht alles durch, du hast halt ne Zeichenfolge getippt, die für Smilies steht

            gruss

            Kommentar


            • #7
              Re: Fenster

              Original geschrieben von Wolfi
              habe vergessen zu sagen, das ich drei Frames geladen habe.
              Sollte eigentlich kein Problem darstellen, solange keine frameübergreifenden Script-Operationen im Spiel sind. Aber dazu hast du nichts gesagt.


              Das setzen der Variablen auf null wird nur einmal durchgeführt.
              Also beim Rendern des Scripts...?

              Beim wiederholten Auftruf wollte ich eigentlich nur ein SetFocus() ausführen und nicht neu laden.
              Schätze das ist eine Funktion um den Fokus auf das Kind-Fenster zu setzen. Sinnvoll, aber kann nicht gehen wenn winfb in dieser Funktion vor dem Aufruf des focus()-Befehl auf null gesetzt wird. Nur so eine Vermutung, ich hab keine Ahnung was alles in SetFocus() passiert.

              Habe eine Form definiert:
              Also ein Button wird angeklickt und damit die Formroutine an PHP übergeben.
              Der Aufruf ist JavaScriptarent.main.einstieg.submit()

              Vieleicht kannst du etwas mit den Informationen anfangen
              Geht so.
              Mir ist nicht klar geworden was du mit "Button" meinst. Ein Submit-Button? Eine Grafik? Und wie sieht jetzt konkret der Aufruf aus - das javascript: läßt ja auf einen <a> Link schließen.
              Sorry, würde dir gerne helfen, aber die Info mit den Frames hat doch eher mehr verwirrt als entwirrt (mich jedenfalls .

              Egal, dein Script läuft ja jetzt wie gewünscht. Mach am besten noch ein paar Tests mit NN4.x und Mozilla und gut ist.

              Kommentar

              Lädt...
              X