Ich versuche ein Bestätigungsfeld zu erhalten, NUR wenn ein Benutzer das Formular im Magnify Popup geändert hat, das seinen Inhalt in einem iframe anzeigt.Confirm Close - Only Wenn der Benutzer ein Formular im Magnific Popup eintippt
<a href="#" class="opener-class" data-mfp-src="/whatever.asp" data-lightbox="iframe" data-plugin-options='{"type":"iframe"}'>
Code:
$('.opener-class').magnificPopup({
type:'iframe',
change: function() {
$.magnificPopup.instance.close = function() {
if (!confirm("Are you sure?")) {
return;
}
$.magnificPopup.proto.close.call(this);
};
}
});
ändern scheint nicht zu funktionieren. Ich habe versucht, das Formular innerhalb von open zu binden: so wie wir es auf dem Rest unserer Seite machen, aber das hat auch nicht funktioniert.
$(':input', document.myForm).bind("change", function() {
//confirm here
}
);
HTML für Form-Beispiel auf der Seite in whatever.asp, die eingereicht werden - wenn überhaupt etwas in diesem Textfeld geändert wird, ich das bestätigen will nah erscheinen:
<form class="validate" action="/whatever.asp" method="post">
<label>Notes</label>
<textarea class="form-control input-sm required" name="Notes" id="Notes" rows="3"></textarea>
</form>
Ich denke, die Frage ist, Der Code befindet sich auf der übergeordneten Seite und öffnet dann einen großen Popup-Inhalt in einem iFrame.
Jede Hilfe wäre willkommen!
Ich habe mit all diesen Optionen gespielt und keiner scheint funktioniert. Hier ist das Problem - die "Änderung" wird nicht für ein Formular ausgelöst. "Änderung" wird für das Popup ausgelöst, aber wenn ich die Prüfung für eine Änderung in einem Formularelement mit Konsolenprotokollen einbinden, sind sie in Ordnung, aber das COSOLE-Protokoll innerhalb der Formularänderung wird nicht ausgelöst. Das Problem hier muss mit Zugriff auf die Formularelemente sein, da sie in einem iframe sind !!! Also, ich beendete oben nur nicht mit der Standard-Schließen-Taste, mit modal = true, und erstellt meine eigene Schließen-Taste in der iframe, die ich programmgesteuert Kontrolle mich onclick auf die Schaltfläche Klasse und Eltern. $. MagnificPopup.close (); von innen der iframe - wirkt wie ein Zauber.
Können Sie ein Beispiel auf dem jsfiddle hinterlassen ? Oder schreiben Sie zumindest das HTML-Markup Ihres Formulars. –
hat einige weitere Details gepostet. – Dennis