2013-12-14 93 views
1

我只是想問一下,因爲我在Codeigniter上工作,我在主頁上有一個按鈕,其中如果點擊,它會將頁面重定向到註冊頁面。Codeigniter按鈕重定向

<input type='button' onClick='<?php redirect(base_url() . 'register/index'); ?>' /> 

我也嘗試過幫助窗體。

<body> 
    <?php 
     $data = array('register' => array('name' => 'register', 
      'id'  => 'register', 
      'value' => 'TRUE', 
      'type' => 'button', 
      'content' => 'Register', 
      'onClick' => redirect(base_url() . 'register/index') 
     ); 
    ?> 
<table border="1"> 
    <tr> 
     <td><?php echo form_button(element('register', $data,)); ?></td> 
     <td></td> 
    </tr> 

</table> 
</body> 

當我嘗試點擊按鈕時,問題沒有任何反應。

回答

4

CodeIgniter的redirect()函數意味着創建一個HTTP 302響應,該響應僅在輸出內容之前生效。它專爲控制器設計,絕不應出現在您的視圖中。

導航在瀏覽器端可以通過使用Javascript實現:

<button onclick="location.href='<?php echo base_url();?>register/index'">Register</button> 
+0

它不工作... – user3051523

+0

您的瀏覽器未導航? – CodeColorist

+0

是的,當我嘗試點擊時,沒有任何反應。 – user3051523

1

如果你想使用你必須使用這樣的CI表單輔助函數:

echo form_button('name','content'); 

// Would produce 
// <button name="name" type="button">Content</button> 

或者你可以傳遞一個包含您希望表單包含的任何數據的關聯數組:

$data = array(
    'name' => 'button', 
    'id' => 'button', 
    'value' => 'true', 
    'type' => 'reset', 
    'content' => 'Reset' 
); 

echo form_button($data); 

// Would produce: 
// <button name="button" id="button" value="true" type="reset">Reset</button> 

如果您想要表單Ë表單包含一些額外的數據,如JavaScript,你可以把它當作第三個參數的字符串:

$js = 'onClick="some_function()"'; 

echo form_button('mybutton', 'Click Me', $js); 

,並確保輔助裝:

$this->load->helper('form'); 
+0

我試過了,但仍然沒有任何反應... – user3051523

0

你可以寫爲您的項目一個共同的JavaScript函數,如果你需要,可以調用它象下面這樣:

<button onClick="return redirect('<?php echo base_url();?>register/index');">Register</button> 

和JavaScript功能如下:

<script> 
function redirect(url){ 
window.location.href = url; 
return false; 
} 
</script> 

OR 你可以根本就以下

<button onClick="window.location.href = '<?php echo base_url();?>register/index';return false;">Register</button> 

請記住,這樣點擊按鈕的默認事件被忽略返回false。

+0

我怎樣才能做到這一點使用form_button?我只是想利用codeigniter。 – user3051523