Pergunta

Eu tenho uma mensagem que quero desbaste quando um formulário é enviado com sucesso. Estou usando o plug -in do formulário jQuery e o código:

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

A função Validate funciona perfeitamente, então eu adicionei este código antes de retornar verdadeiro:
(...)

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

Isso deve desaparecer o div, eu tenho embaixo da forma, denominado como exibição: nenhum;.
Mas o que acontece é que a div desaparece e depois desaparece. Alguém tem uma explicação e possivelmente uma solução para corrigi -la? Agradeço antecipadamente!

O código pode ser visto nele-ação aqui: http://gadebold.dk/events/tilmeld/

Foi útil?

Solução

O que está acontecendo é que o conteúdo está sendo substituído. Você está desaparecendo no #output div, mas quando a resposta do servidor volta, o plugin do formulário está colocando essa resposta em #output Porque é isso que você tem o alvo definido.

Se você não se importa com a resposta do servidor, remova o target opção e não substituirá seu conteúdo, assim:

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

Veja aqui uma lista completa de opções

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top