特にエラーメッセージとありがとうメッセージのために、いくつかのjqueryを使用してphpフォームに取り組んでいます。jquery の部分はここで見ることができます: http://jsbin.com/ohuya3
フォーム
の実際の例はここで入手できます:
http://cozyphant-living.com/php/formular4.htm
" ボタンをクリックして、メッセージ パネルを表示します。
ありがとうまたはエラーパネルをスライドさせてテキストをフェードインさせたいと思っていました.スクリプトは私のコードを受け入れています(まだ動作しているため)が、実際にはテキストが実際にフェードインすることはわかりません.テキストがフェードインするスライド パネルのサンプル。したがって、私が行ったのは間違った種類のコーディングのようです。
どんな助けでも大歓迎です。
質問する
1221 次
2 に答える
1
問題は、#formResponse
コンテナが最初は隠されていないことです。応答テキストが挿入されるとすぐに、フェードインするのではなく、直接表示されます。display: none;
非表示にすることを宣言する必要があります。
<div class="contact-form-text" id="formResponse" style="display: none;"></div>
次に、AJAXコールバック関数がテキストを挿入し、フェードインします。
更新:スライドとフェードインの両方が必要な場合は、追加の応答コンテナーを使用する必要があります。スライドアウトすると、既に表示されており、100%の可視性からフェードインできないためです。したがって、必要なものは次のようになります。
<div id="formResponse_container" style="display:none;"> <!-- extra wrapper -->
<div id="formResponse" class="contact-form-text" style="display:none;"></div>
</div>
次に、jQueryスクリプトで
$("#formResponse").hide().html(data).show('slow'); //hide before slide!
あなたが持っているだろう
$("#formResponse_container").slideDown("slow", function() {
$("#formResponse").html(data).fadeIn("slow");
});
つまり、最初に外側のコンテナを下にスライドし、アニメーションが完了すると、内側のコンテナでフェードインします。
お役に立てれば。
于 2010-10-04T11:15:57.670 に答える
1
.show()
あなたの場合、必要な同時スライド + フェード効果の期間で使用します。
$("#formResponse").html(data).show('slow')
margin: 0 auto;
具体的には、コードをオブジェクトから削除する必要があるため#formResponse
、上記のアニメーション コードで問題が発生します。また、全体的に次のように、メンテナンスが少し簡単な方法でフォームをシリアル化することもできます。
$("#contact_form").submit(function() {
var arr = $(this).serializeArray(); //serialize form, based on names
arr.push({ name: 'senden', value: 'yes' }); //add the senden variable
$.post('mail.php', arr, function(data) { //pass that object as your data
$("#formResponse").hide().html(data).show('slow'); //hide before slide!
}, 'text');
return false;
});
于 2010-10-04T10:53:52.897 に答える