0

ユーザーフォームの一部をフェードアウトして、次のフォームステップをロードしようとしています(フェードイン)。ただし、[送信]をクリックすると、フォームが送信され、フェードアウトしません。

<script type="text/javascript">
    function validate(input, name) {
        if( form['register'] = true ) {
            $("#step1").fadeOut("slow");
        }
    }

<form id="register" name="register" method="post" action="">
    <div id="step1" class="step1">
        form here...
        ...
        <input type="submit" 
               name="next" 
               id="next" 
               value="Continue" 
               disabled="disabled" />
    </div>
4

2 に答える 2

1

フェードが発生するようにするには、フォームの送信を防止する必要があります。

Jクエリ:

$(document).ready(function() {
  $("form").submit(function(e) {
    e.preventDefault();
    $("#step1").fadeOut("slow");
  });
});

ただし、提案として、ユーザーがステップ間を前後に移動できるようにボタンを使用し、送信ボタンは最後のステップにのみ使用する必要があります。

于 2012-04-26T19:31:46.070 に答える
1

「しかし、送信をクリックすると、フォームが送信され、フェードアウトしません。」

その行は、フォームを送信した瞬間に div を非表示にしたいと私に思わせます。これを行う方法は次のとおりです。

//Select #register, bind a 'submit'-event.
$('#register').on('submit', function(e){

  //This next line will prevent the form from being submitted.
  e.preventDefault();

  //Fade out the #step1.
  $('#step1').fadeOut('slow');

});
于 2012-04-26T19:33:27.513 に答える