问问题
9194 次
3 回答
5
使用 的action
属性CActiveForm
。替换'controller/acion'
您的特定需求。
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'contact-form',
'enableClientValidation'=>true,
'action'=>array('controller/acion','#'=>'fragment-id')
)); ?>
于 2012-10-16T15:48:50.590 回答
2
在接收表单提交的控制器/动作中,一旦表单被处理,只需重定向到您想要的 URL。例如:
$this->redirect(Yii::app()->request->baseUrl."/myurl#fragment-id");
你甚至可以得到真正的幻想并使用这个简短的 jQuery 滚动来运行:
function goToByScroll(id){
$('html,body').animate({scrollTop: $("#"+id).offset().top},'slow');
}
哪个 get 是这样调用的:
goToByScroll("theIdIWantToGoTo");
于 2012-10-16T15:49:49.363 回答
1
您正在查看错误的选项。你需要它的动作:
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'contact-form',
'action'=>$this->createUrl('')."#fragment-id",
'enableClientValidation'=>true,
)); ?>
//form here
<?php echo CHtml::submitButton('send')); ?>
<?php $this->endWidget(); ?>
createUrl
其为当前请求的 URL 生成 URL的空参数
于 2012-10-16T15:49:53.623 回答