0

私はそのような問題を抱えています:私はレール、devise gem、およびjQuery検証プラグインを使用しています。登録パスの後がありますが、おめでとうメッセージでモーダルを呼び出す必要があります。したがって、送信を呼び出すと、呼び出していますが、他のページへのリダイレクトのために、1秒以内に閉じられます。

リダイレクト後にモーダルを呼び出す必要があります。これを行うにはどうすればよいですか? これが私のjsコードです:

EDITED:それを機能させる方法は?notice=... の場合、モーダルを呼び出しています

      $(document).ready(function(){
      if($('.notice').val() == 'Welcome! You have signed up successfully.')
     $('#congrats').show();

     $('.sign_up').validate({


    rules: {

        "user[email]":{
            email: true,
            required: true
        },

        "user[first_name]":{
            required: true
        },

        "user[last_name]":{
            required: true
        },

        'user[password]': {
            required: true,
            minlength: 6
        },
        'user[password_confirmation]': {
            required: false,

        }
    },
    success: "valid"
});
$(".sub a").click(function() {
    $(this).siblings("div").show("fast");
});//code for showing hidden areas

アラートの HTML コード:

        <div class="alert alert-notice">Signed out successfully.</div>
4

2 に答える 2

1

$('#congrats').show();リダイレクト後にレンダリングされたビューを配置し、特定の条件で呼び出す必要があります。たとえば、aflash[:notice]が設定されている場合、jQueryでその値を確認し、を表示することを選択できます#congrats

更新しました

$('document').ready(function() {
  if($('.alert').html().indexOf('Welcome! You have signed up successfully.') != -1) 
    $('#congrats').show();
});

私はそれを試しました、それは動作します。

于 2012-06-20T09:33:20.723 に答える
0

フォームの送信/検証時に、次のようなダイアログボックスを開くだけです

$('#congrats').show(); return false;

ダイアログボックスを閉じると、

form.submit();

于 2012-06-20T09:35:22.780 に答える