【发布时间】:2014-04-16 17:46:52
【问题描述】:
我在 主布局中使用 Yii-user extension 我有一个注册链接,这是所有 Cmenu 通用的p>
视图/主布局
echo CHtml::link('Signup','#',array('id'=>'regi'));
$("#regi").click(function(){
$.ajax({
type:'GET',
url:'<?php echo Yii::app()->request->baseUrl;?>/index.php/user/registration',
success:function(res){
$("#dispdata").show();
$("#dispdata").html(res);
}
});
});
<div id="dispdata"><div>
**yii 用户扩展**完美呈现此内容,如果表单值有效,甚至可以正确提交。
但如果值不正确且为空白,则会重定向到 url .../user/registration
这不是我需要的。我需要指导我该怎么做,如果值不正确或空白,它不应该重定向并在模型窗口中显示错误。
我试过了,但几乎没有得到满意的结果
如果我放置以下模型窗口本身不出现我该怎么办
我放置的模块注册控制器
....//some code here (**in yiiuser register controller**)
if ($model->save()) {
echo CJSON::encode(array(
'status'=>'success',
));
}
....//some code here...
Yii::app()->clientScript->scriptMap['jquery.js'] = false;
$this->renderPartial('registration',array('model'=>$model,),false,true);
在模块视图中注册
<?php echo CHtml::ajaxSubmitButton(Yii::t('registration'),CHtml::normalizeUrl(array('user/registration','render'=>false)),array('dataType'=>'json',
'success'=>'function(data) {
if(data != null && data.status == "success") {
$("#registration-form").append(data.data);
}
}')); ?>
任何人都可以指导我过去 10 天的工作,尝试了每一种钩子或骗子的方法,但无法获得结果......如何出现带有客户端验证的模型窗口......请指导我或让我知道可以做得更好
注册模型中的规则
if (!(isset($_POST['ajax']) && $_POST['ajax']==='registration-form')) {
array_push($rules,array('verifyCode', 'captcha', 'allowEmpty'=>!UserModule::doCaptcha('registration')));
也没有必填字段的属性
改成
array_push($rules,array('verifyCode', 'captcha','message' => UserModule::t("captcha cannot be blank.")));
并将验证码添加到必填字段
还是不行,
【问题讨论】:
标签: ajax yii popupwindow