Sto tentando di ottenere una casella di conferma da visualizzare SOLO se un utente ha apportato modifiche al modulo all'interno del popup magnifico che mostra il suo contenuto in un iframe.Chiudi conferma - Solo se i tipi utente in forma all'interno Magnifica Popup
codice<a href="#" class="opener-class" data-mfp-src="/whatever.asp" data-lightbox="iframe" data-plugin-options='{"type":"iframe"}'>
:
$('.opener-class').magnificPopup({
type:'iframe',
change: function() {
$.magnificPopup.instance.close = function() {
if (!confirm("Are you sure?")) {
return;
}
$.magnificPopup.proto.close.call(this);
};
}
});
Il cambiamento non sembra funzionare. Ho provato a legare il modulo all'interno aperto: come facciamo sul resto del nostro sito, ma anche questo non ha funzionato.
$(':input', document.myForm).bind("change", function() {
//confirm here
}
);
HTML per il modulo di esempio nella pagina in whatever.asp che viene presentato - se qualcosa è cambiato in quel testo, voglio la conferma vicino appaia:
<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>
Credo che il problema è che il codice si trova sulla pagina madre e quindi apre un magnifico contenuto popup in un iFrame.
Qualsiasi aiuto sarebbe apprezzato!
Ho giocato con tutte queste opzioni e nessuna sembra funzionare . Ecco il problema: il "cambiamento" non sta sparando per un modulo. "change" sta sparando per il popup, ma se eseguo il check per un cambio in un elemento del modulo con i log della console, vanno bene, ma il registro cosole all'interno del modulo non viene attivato. Il problema qui deve essere con accedere agli elementi del modulo poiché sono in un iframe !!! Così, ho finito up non solo utilizzando il pulsante di chiusura di default, utilizzando modal = true, e creato il mio pulsante di chiusura all'interno del iframe che ho di programmazione controllarmi onclick sulla classe bottone e genitore. $. MagnificPopup.close (); dall'interno dell'iframe - funziona come un incantesimo.
Potrebbe postare un esempio sul jsfiddle ? O almeno pubblica il markup HTML del tuo modulo. –
pubblicato alcuni ulteriori dettagli. – Dennis