2012-12-04 53 views
0

我目前正在設置頁面,用戶在註冊後重定向到/ 設置頁面基本上使用戶填寫重要信息,並有3個步驟。我不想創建3頁,一步= 1頁,因爲我認爲這不是有效的方法。在一個頁面中有多個「部分/步驟」 - 註冊多個SETUP步驟後只有一個頁面

我曾嘗試創建一個新的Facebook帳戶,並意識到他們可以在一個頁面中完成所有操作,與其他網站一樣。

我注意到的一件事是地址欄有查詢字符串,我目前正在使用codeigniter/MVC,PHP。我該如何做「查詢字符串(地址/?步驟= 1)等」的方式,使其只改變表單的css ACTIVE代碼和tab。

或者還有其他方法可以完成這項工作嗎?

謝謝!

回答

2

如何爲3個步驟創建3個視圖並通過您的控制器通過ajax加載它們。

您可以在第一步中擁有主視圖,並隨着用戶進度追加視圖2和視圖3。

的Javascript在廠景:

$("#next_button").click(function() {  
    $.ajax({ 
     url: "<?=base_url()?>controller/next_step", 
     type:'POST', 
     data: "step=1", 
     async: false, 
     success: function(data) { 
      $("#step_form").append(data); 
     }, 
     fail: function(jqXHR, textStatus) { 
      console.log("Request failed: " + textStatus); 
     } 
    }); 
}); 

控制器

public function next_step() { 
    $step = filter_input(INPUT_POST, "step", FILTER_SANITIZE_NUMBER_INT); 
    if($step==1) { 
     echo $this->load->view("step2_view", array(), true); 
    } 
} 

雖然你正在創建3次,用戶認爲其一頁。

+0

我也可以很容易地修改它到標籤上,這樣當人們點擊標籤時,它會顯示LOADING ...並再次出現? – CodeGuru

+1

是的,如果你使用的是jQuery UI選項卡(http://jqueryui.com/tabs/#ajax),這(稍作修改後)可以幫助http://stackoverflow.com/questions/8301193/jquery-ui-tabs - 如何對發送的Ajax請求與 - 數據後 – user1190992