输入字段值并使用Javascript重定向

时间:2016-03-07 12:57:40

标签: javascript jquery

我的联系表单和基于输入字段的jquery重定向有点问题。

在我尝试实现重定向以形成验证码之前,一切都很完美。

重定向代码:

$("#signup").submit(function(event){
    window.location = $('input[type="radio"]:checked').val();
});

形式:

<form id="signup" name="signup" method="post" novalidate="novalidate">

<input type="radio" name="gender" value="http://www.paypal.com" checked> Option 1<br>
<input type="radio" name="gender" value="http://www.google.com"> Option 2<br>
<input type="radio" name="gender" value="http://www.seznam.cz"> Option 3<br>

<input id="submit" type="submit" name="submit" value="Continue to make payment..." class="btn btn-wide btn-extrawide" data-loading-text="Loading...">

jQuery的:

// Signup form
$('#signup').validate({
    rules: {
        name: {
            required: true,
            minlength: 2
        },
        email: {
            required: true,
            email: true
        }
    },
    messages: {
        name: {
            required: "Please enter your nameee",
            minlength: "Your name must consist of at least 2 characters"
        },
        email: {
            required: "Please enter your email address"
        }
    },
    submitHandler: function(form) {
        $(form).ajaxSubmit({
            type:"POST",
            data: $(form).serialize(),
            url:"inc/signup.php",
            success: function() {
                $('#signup :input').attr('disabled', 'disabled');
                $('#signup').fadeTo( "slow", 0.15, function() {
                    $(this).find(':input').attr('disabled', 'disabled');
                    $(this).find('label').css('cursor','default');
                    $('#success').fadeIn();
                });

                    // added lines, not working:                    
                    $("#signup").submit(function(event) {
                        window.location = $('input[type="radio"]:checked').val();
                    });


            },
            error: function() {
                $('#signup').fadeTo( "slow", 0.15, function() {
                    $('#error').fadeIn();
                });
            }

        });
    }
});

很高兴您能给我任何反馈。非常感谢你。

1 个答案:

答案 0 :(得分:0)

您将使用添加的行重新提交表单:

// added lines, not working:                    
$("#signup").submit(function(event) {
    window.location = $('input[type="radio"]:checked').val();
});

所以在ajax提交之后它什么也没做,因为当你执行$("#signup").submit时它由于使用此代码禁用了提交按钮而没有做任何事情:

$('#signup :input').attr('disabled', 'disabled');

所以要解决这个问题,请从上面更改上面添加的代码:

$("#signup").submit(function(event) {
    window.location = $('input[type="radio"]:checked').val();
});

对此:

window.location.href = $('input[type="radio"]:checked').val();