0

フォームが正常に送信されたときにフェードインしたいというメッセージがあります。jQuery フォーム プラグインとコードを使用しています。

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

検証関数は完全に機能するので、trueを返す前にこのコードを追加しました:
(...)

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

これは、フォームの下にある div でフェードインし、display: none; としてスタイル設定する必要があります。
しかし、何が起こるかというと、div がフェードインしてから消えます。誰にも説明があり、おそらくそれを修正する解決策がありますか? 前もって感謝します!

コードはここのエラーアクションで見ることができます: http://gadebold.dk/events/tilmeld/

4

1 に答える 1

1

何が起こっているかというと、コンテンツが置き換えられているということです。div でフェードインしてい#outputますが、サーバーの応答が戻ってくると、フォーム プラグインがその応答を入れて#outputいます。これは、ターゲットが設定されているためです。

サーバーの応答を気にしない場合は、targetオプションを削除するだけで、次のようにコンテンツが置き換えられません。

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

オプションの完全なリストについては、こちらを参照してください

于 2010-03-17T12:05:54.130 に答える