4

私のフィドルは私がやろうとしていることの一部しか示していませんが、最初の部分を機能させることさえできないので、私は2番目の部分を追加しようとしませんでした。

最初の部分

2つの形式があります。2番目のフォームは、そのクラスが「display:none;」に設定されているため、表示されません。

私がやりたいのは、最初のフォームで「送信」を押すと、フェードアウトしてから、form2でクラスが変更されて表示されるようにすることです。

私のフィドルは、このhttp://jsfiddle.net/mjmitche/KvwGw/での私の弱い試みを示しています

注意、私は初心者ですので、できるだけ多くの説明をお願いします。(注:どこに投稿するかなどがわからなかったため、フィドルで適切なフォームを作成しませんでした)

2番目の(試みられていない)パート

2番目のフォームで送信をクリックしたら、2番目のフォームもフェードアウトするコールバック関数が必要です。

できれば助けてください。

とても有難い!

4

3 に答える 3

3

あなたの構文は少しずれています、これ:

.css(display:block);

する必要があります

.css({display:"block"});

また:

.css("display", "block");

または単に

.show();

ここでテストできます

<blah>また、無効な要素であるということは、そのままでは機能しないことを意味することに注意してください。.hide()私はそれらの要素を実際<div>のものにしました。


編集: 2番目の部分では、同様のハンドラーを1回限りアタッチするか、フォームをn共通のクラスを持つ数値の汎用にすることができます。代わりに、彼ら全員が持っていたと言うならclass="form"、あなたはただすることができます:

$(".form").submit(function() {
    $(this).hide(1000,function() {
        $(this).next(".form").show();
    });
    return false; //prevent actually submitting for this demo
});

...必要に応じて、実際のページ構造で他の相対的な検索.next()結果になるように調整します。このアプローチは、非常に簡単な方法で任意の数のフォームに対して機能します。ここでテストできます

于 2011-07-02T10:45:11.753 に答える
3

どうぞ。これは、更新されて機能するものです。違いがわかると思いますが、わからないことがあれば教えてください

http://jsfiddle.net/KvwGw/2/

第二部

$('#form2').submit(function() {
    // add form submit stuff in there

    $(this).fadeOut(); //fades out form
    return false; //prevents form from submitting to the form action

});
于 2011-07-02T10:46:09.993 に答える
1

これを試してください:あなたのフィドルが更新されました

css プロパティをオブジェクト記法ブラケットでラップするか、次のようなカンマ区切りの文字列としてラップする必要があります。.css("display", "block")

于 2011-07-02T10:47:35.260 に答える