2012-09-12 114 views
1

我正在編寫一個註冊頁面,用戶首先在第一頁中選擇三個選項之一,然後才能移動到第二頁,因爲它顯示的內容依賴於以前的選擇。所以這是我的代碼:jQuery將數據發佈到下一頁

<script> 
$(document).ready(function(e) { 
    $("form").submit(function() { 
     var data= $(this).serialize(); 
     $.post("/Registration_1.php",data); 
     alert(data); 
    }); 
}); 
</script> 

<form id="frmtype1" name="frmtype1" method="post"> 
<input type="radio" name="Reg_type" value="1"/> option 1 <br/> 
<input type="radio" name="Reg_type" value="2"/> option 2<br/> 
<input type="radio" name="Reg_type" value="3"/> option 3 <br/> 
<input type="submit" name="Submit" value="Submit" /> 
</form> 

的問題是,選擇一個選項並點擊提交後它只是停留1頁上的提醒顯示的數據,這是正確的,但它只是不會移動到下一個頁面。我是jquery的新手,所以我不知道$ .post是否在語法上是正確的。任何人都可以看到這裏的問題是什麼?爲什麼不能進入下一頁?謝謝

+0

爲什麼不在表單的'action'屬性中指定頁面url? –

回答

2

喲隊友,你需要定義一個更函數處理您的POST方法的成功事件。當您的帖子成功完成後,您可以像SomeKittens顯示的那樣更改網址。

$.post("/Registration_1.php",data,function(response){ 
    window.location = ... 
}); 
2

不要指定等形式的行動:行動= 「你的網址」

爲如:

<body> 
    <form id="form1" action="http://stackoverflow.com/" method="post"> 
     <input type="radio" name="Reg_type" value="1"/> option 1 <br/> 
     <input type="radio" name="Reg_type" value="2"/> option 2<br/> 
     <input type="radio" name="Reg_type" value="3"/> option 3 <br/> 
     <input type="submit" id="s" name="Submit" value="Submit" /> 
    </form> 
</body> 

修改後的腳本:

$(document).ready(function() { 
     $('input').on('click', function() { 
      window.location('http://stackoverflow.com/'); 
     }); 
    }); 

希望這幫助:)

+0

我明確沒有這樣做的原因。我有jQuery的東西,以確保用戶在提交之前選擇一個選項。 – Richard

+0

那麼您使用的.post是做ajax調用,我懷疑你想這樣做。那麼,爲什麼你不使用你的'jQuery的東西'驗證提交調用window.location,如果它是有效的? Simples –