1

概要

ページが読み込まれてから5秒でSlideDownするdiv#lead_formがあります。そして、そのdivには、送信ボタンがあります。誰かが[送信]をクリックするたびに、#lead_form内のフォームが入力フィールドを検証し、ページを更新します。

問題

フォームが検証されるたびに、Webページが更新され、div#lead_form SlideDownがスライドインするのに5秒かかります。私がやりたいのは、true false変数を設定し、送信ボタンがクリックされたかどうかを確認します。trueの場合は、 div#lead_form SlideDown効果?

私のHTML

<div id="lead_form">
<div id="button"><a href="#"></a></div>
</div>

私のjQuery

$(document).ready(function() {
 $("#lead_form").hide(0).delay(4000).slideDown(5000);
});

調査結果

これは私が求めているものではありませんが、似ていますか?

4

2 に答える 2

2

サーバー側のコードで、リクエストが送信されたフォームに含まれているかどうかを確認し、ページの特定のセクションにjavascriptvarとして結果を書き込みます

if( isset($_POST['yourFORMFIELD']) )
{
     echo "var postBack = true;";
}

次に、jQueryを次のように変更します

$(document).ready(function() {
    if(!postBack) {
        $("#lead_form").hide(0).delay(4000).slideDown(5000);
    }
});
于 2012-10-04T23:51:10.710 に答える
0

ページのリロードがあるため、JavaScriptのみを使用してこれを解決することはできません。どういうわけか状態を保持し(フォームが送信された場合)、ページがリロードされた後にその状態を確認する必要があります。これは、Cookieまたはローカルストレージのいずれかを介して実行できます(ローカルストレージは最新のブラウザーでのみ機能します)

于 2012-10-04T23:53:56.997 に答える