jQuery modal dialog form submit

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

  • jQuery modal dialog form submit

    Hallo Leute,

    ich habe ein Problem, an dem sich seit heute morgen sitze und bereits stundenlang das Internet durchsucht habe.

    Ich habe ein Formular, in dem ich zwei Button habe - einen zum speichern und einen zum löschen des Eintrages. Beim Löschen möchte ich eine vorherige Bestätigung einbauen - mit dem jQuery UI modal dialog.

    Hier der Code:
    Code:
    $("#dialog").dialog({
    		autoOpen: false,
    		resizable: false,
    		height: 160,
    		width: 360,
    		modal: true,
    		buttons: {
    			'Ja': function() {
    				document.formedit.submit();
    			},
    			'Nein': function() {
    				$(this).dialog("close");
    			}
    		}
    	});
    
    	$("#del").click(function() {
    		$("#dialog").dialog("open");
    		return false;
    	});
    Sofern ich auf den Button #del drücke, öffnet sich der Dialog. Soweit so gut. Drücke ich auf NEIN, schließt er ihn. Drücke ich auf JA, wird "eigentlich" das Formular abgeschickt. Die Seite wird auch neu geladen, ABER es wird nichts gelöscht (hierbei sei erwähnt, das Formular funktioniert ansonsten einwandfrei - ohne die Einbindung von modal dialog wird der Eintrag aus der DB gelöscht).

    Wenn ich nun "return false;" entferne, dann öffnet er kurzzeitig das Dialogfenster und schickt das Formular direkt ab, ohne dass ich eine Chance habe, auf einen der Button im Dialog zu drücken.

    Ich habe nach Recherchen auch event.preventDefault(); ausprobiert. Allerdings auch hier ohne den gewünschten Erfolg.

    Es wäre schön, wenn ihr Hinweise/Tipps für mich habt.

    Besten Dank
    Marcus

  • #2
    Hallo,

    hat der Button zufällig das Attribut name="submit" gesetzt? Wenn ja, nenn ihn mal anders, sonst wird die gleichnamige Funktion des Formulars (die du ja aufrufen willst) mit dem DOM-Element des Submit-Buttons überschrieben. Wenn nicht, ist die Problembeschreibung absolut nicht ausreichend, um einen der vielen möglichen Gründe zu benennen.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      schau dir mal unter jQuery UI - Dialog Demos & Documentation in ruhe an
      Bitte Beachten.
      Foren-Regeln
      Danke

      Kommentar


      • #4
        Zitat von AmicaNoctis Beitrag anzeigen
        hat der Button zufällig das Attribut name="submit" gesetzt? Wenn ja, nenn ihn mal anders, sonst wird die gleichnamige Funktion des Formulars (die du ja aufrufen willst) mit dem DOM-Element des Submit-Buttons überschrieben.
        Das Abschicken scheint ja zu funktionieren, nur die serverseitige Auswertung nicht.

        Mein Schuss ins Blaue (bei der dürftigen Faktenlage) wäre daher eher, dass das serverseitige Script vor dem Löschen darauf prüft, ob das Formular wirklich mit dem Submitbutton abgeschickt, also dessen name-value-Paar übermittelt wurde.
        Das wird aber vermutlich nicht der Fall sein, weil das Formular nicht über diesen Submitbutton, sondern über die submit-Methode per JavaScript abgesendet wurde.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Vielen Dank erstmal an alle!

          Und wahsaga, du hast mit deiner Vermutung natürlich Recht. Da ich alle $_POSTs an einer Stelle sammel prüfe ich natürlich anhand des Buttonnamens, welches Formular abgeschickt wurde und werte entsprechend aus. Da ich aber von Javascripten nicht wirklich Ahnung habe, bin ich darauf nicht gekommen.

          Ich habe gleich geprüft, ob die Daten aus dem Formular übergeben werden - Ja, werden sie.

          Mal abgesehen davon, dass ich es jetzt etwas anders lösen könnte, muss ich doch gleich mal fragen, ob Javascript bzw. jQuery für ein solches Formular mit 2 Button auch entsprechende, schöne Lösungen parat hat. Also gibt es eine Möglichkeit zu prüfen, ob ein bestimmter Button abgesendet wurde?

          Google hat mir gerade keine richtige Antwort darauf gegeben.

          Danke im Voraus & einen fleißigen Nikolaus wünsche ich.
          Marcus

          Kommentar

          Lädt...
          X