【发布时间】:2012-07-30 09:24:49
【问题描述】:
我在其他操作(无表单)上使用带有“提交”的 CHtml::button 并显示页面,但是当我单击 BACK 然后单击 NEXT 时,它显示 Document Expired
<?php echo CHtml::button('title', array('submit' => array('/'.$_GET['id'].'/smthing/profile'))); //)?>
【问题讨论】:
-
Document Expired表明您已发出POST请求,然后尝试使用浏览器的导航按钮(后退、前进)再次导航到同一文档。您应该使用POST/Redirect/GET 模式来避免这种情况。 -
@DaveRandom 我想使用类似链接的按钮yiiframework.com/wiki/48/by-example-chtml/#hh1
-
你有没有包裹这个按钮的
<form>元素?查看JS source 的实际作用,如果按钮不包含在表单元素中,Yii 会使用POST的方法创建一个,并且这不能被覆盖,坦率地说这是荒谬的。试试echo '<form action="" method="get">'; echo CHtml::button( ... ); echo '</form>'; -
@DaveRandom 我没有表单元素,但我想使用类似链接的按钮,因为我有按钮的 css 样式,但我发现它适用于 CHtml::link。还是谢谢你:)。
-
您可以通过使用 GET 方法将按钮包装在表单中来实现 - 请参阅先前评论中的代码示例。