jquery dialog: dialogbox öffnen bei fehler im kontaktformular

xtramen01

Erfahrenes Mitglied
Hallo Leute,

irgendwie hab ich einen Hänger.
ich möchte eine jquery Dialogbox öffnen wenn ein Fehle im Kontaktformular auftritt.
Ich habe für das Kontaktformular bisher folgende Funktion verwendet:

Auszug:
Code:
function chkFormular () {
  if (document.formular_angebot.anrede.value == "") {
    alert("bitte wählen sie doch eine anrede aus, damit wir wissen wie wir sie ansprechen sollen.");
    document.formular_angebot.anrede.focus();
    return false;
  }
}

Jetzt dachte ich mir anstatt die Standard Dialogbox zu öffnen, könnte ich ja auch eine Jquery Dialogbox verwenden.
Wie z.b. hier:

Code:
        $("#dialog-kontakt").dialog({
            modal: true,
            autoOpen: true,
            height: 450,
            width: 600,
            minHeight: 250,
            minWidth: 400,
            buttons: {
                schliessen: function() {
                    $(this).dialog('close');
                }
            }
        });

Ich bekomme es aber leider nicht gebacken, eine Dialogbox zu öffnen wenn o.g. Ereigniss eintritt.
Wäre dankbar wenn mir da jemand helfen könnte.

Gruß
 
Du musst doch lediglich das "alert()" durch den Code zum Öffnen des Dialoges ersetzen.
Javascript:
function chkFormular () {
	if (document.formular_angebot.anrede.value == "") {
	
		$("<div>bitte wählen sie doch eine anrede aus, damit wir wissen wie wir sie ansprechen sollen.</div>").dialog({
			modal: true,
			autoOpen: true,
			height: 450,
			width: 600,
			minHeight: 250,
			minWidth: 400,
			buttons: {
				schliessen: function() {
				    $(this).dialog('close');
				}
			}
		});
		
		document.formular_angebot.anrede.focus();
		return false;
	}
}

Oder du könntest auch das Standard-Alert-Fenster ersetzen und den Rest des Codes so belassen.

Javascript:
$(document).ready(function() {
	window.alert = function(text) {
		$("<div>" + text + "</div>").dialog({
			modal: true,
			autoOpen: true,
			height: 450,
			width: 600,
			minHeight: 250,
			minWidth: 400,
			buttons: {
				schliessen: function() {
				    $(this).dialog('close');
				}
			}
		});
	};
});
 
Hi,

ich habs ähnlich probiert, also wie in Lösung 1.
Aber eben nur ähnlich.

Lösung 2 ist genial! Wusste nicht das man dass so machen kann!

Ich danke dir recht herzlich.

Gruß
 

Neue Beiträge

Zurück