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

问题描述:

我的联系表单和基于输入字段的jQuery重定向有点问题。使用Javascript输入字段值和重定向

一切都很完美,直到我试图实现重定向以形成验证码。

重定向代​​码:

$("#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

亚当,这里是什么问题?请指定问题陈述 – ChiranjeeviIT

+1

使用'window.location.href'而不是'window.location' – Jorrex

+0

是的,使用'window.location.href'。 –

您与您添加的行再次提交表单:

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

所以阿贾克斯后提交它什么也不做,因为当你做$("#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(); 
+0

工作就像一个魅力!谢谢罗宾。 – Adam

+0

@亚当太棒了!很高兴帮助。 –