Domanda

Ho un messaggio che voglio fadeIn quando un modulo viene inviato con successo. Sto usando il modulo di plugin per jQuery e il codice:

$(document).ready(function() {
var options = {
target: '#output',
beforeSubmit: validate,
resetForm: true
}; 
$('#holdform').ajaxForm(options);
});

La funzione validate funziona perfettamente così ho aggiunto questo codice prima di restituire true :
(...)

$('#output').fadeIn('slow');
return true;    
}

Questo dovrebbe fadeIn div ho sotto la forma, stile come display: none ;.
Ma ciò che accade è che il div svanisce e poi scompare. Qualcuno ha una spiegazione e, eventualmente, una soluzione per risolvere il problema? Grazie in anticipo!

Il codice può essere visto in esso errore-azione qui: http://gadebold.dk/events/ tilmeld /

È stato utile?

Soluzione

Quello che sta succedendo è il contenuto viene sostituito. Stai dissolvenza nel div #output, ma quando la risposta del server ritorna, sotto forma plugin è mettere la risposta in #output perché è quello che si ha l'obiettivo impostato.

Se non si preoccupano la risposta del server, basta rimuovere l'opzione target e non sostituirà il suo contenuto, in questo modo:

$(document).ready(function() {
  var options = {
    beforeSubmit: validate,
    resetForm: true
  }; 
  $('#holdform').ajaxForm(options);
});

Vedi qui per una lista completa delle opzioni

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top