0

フェードイン/アウト メソッドとフォーム送信を同じスクリプト内で実行しようとすると問題が発生します。

多くの場合、一方は機能し、もう一方は機能しません。私はこれに約6時間取り組んできましたが、残念ながら見落としているロジックがあると確信しています.

これがどのように書かれるべきかの説明または内訳は大歓迎です!

HTML

<form id="form" action="#">
                        <div class="formmesage"><p>Hi, I'm </p></div>
                            <div class="nameinput">
                                <input id="name" class="required" type="text" name="name" placeholder="name" tabindex="1"> 
                            </div>
                        <div class="formmesage"><p>and I'm a </p></div>
                            <div class="selection">
                                <select id="profession" name="profession" tabindex="2">
                                    <option type="text" value="designer">designer</option>
                                    <option value="developer">developer</option>
                                    <option value="designer &amp; developer">designer &amp; developer</option>
                                </select>
                            </div>
                        <div class="formmesage"><p>looking to meet other </p></div>
                            <div class="selection">
                                <select id="pairprofession" name="pairprofession" tabindex="3">
                                    <option type="text" value="designer">designers</option>
                                    <option value="developer">developers</option>
                                    <option value="designer &amp; developer">designer &amp; developers</option>
                                </select>
                            </div>
                        <div class="formmesage "><p>in</p></div>
                            <div class="selection">
                                <select id="location" name="location" tabindex="4">
                                    <option type="text" value="New York" p>New York</option>
                                    <option value="Boston">Boston</option>
                                    <option value="Chicago">Chicago</option>
                                </select>
                            </div>
                        <div class="btn">
                            <input id="email" class="required email" type="text" name="email" placeholder="email@address.com" tabindex="5">
                            <button type="submit">submit</button>
                        </div>
                    </form><!-- form -->

Jクエリ

$(document).ready(function(){
 $("#form").validate();
  $("#form").submit(function(){
   $("button").click(function(){
    $("#form").delay(500).fadeOut("slow");
     $(".message").delay(1000).fadeIn("slow");
     return false;
     })         
   })
})
4

1 に答える 1

4

このように書くべきだと思います

$(document).ready(function(){
    $("#form").validate({
        submitHandler : function(){
            $("#form").delay(500).fadeOut("slow", function(){
                $(".message").fadeIn("slow");
            });
            return false;
        }
    });
});

検証は送信を行っています。送信バインディングは必要ありませんか。送信後にアクションを変更したい場合は、 validate : のオプションがありますsubmitHandler。そして500ms遅れてフェードアウト開始。フェードアウトが終わるとフェードインが始まります。

于 2013-05-02T02:16:15.317 に答える