我的联系表单和基于输入字段的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();
});
}
});
}
});
很高兴您能给我任何反馈。非常感谢你。
答案 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();