我只是想问,因为我正在使用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>
当我尝试点击按钮时,没有任何问题。
答案 0 :(得分:5)
CodeIgniter的redirect()函数意味着发出HTTP 302响应,该响应仅在输出内容之前有效。它专为控制器设计,不应出现在您的视图中。
浏览器端的导航可以通过Javascript实现:
<button onclick="location.href='<?php echo base_url();?>register/index'">Register</button>
答案 1 :(得分: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');
答案 2 :(得分: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,以便忽略按钮点击的默认事件。