【发布时间】:2011-06-16 09:47:31
【问题描述】:
我想在一个页面上显示多个表单,例如首先显示登录表单,在验证/身份验证后隐藏登录表单并显示另一个表单,该表单将获取用户的账单/运输信息,如果新客户在同一页面上显示注册表单页面和成功注册后,使其登录并隐藏注册表并呈现计费/运输表单。和信用卡信息等其他表单一样,想要使用基于 ajax 的验证和渲染。
我正在做这行不通
if(Yii::app()->request->isAjaxRequest)
{
if(isset($_POST['Customers']))
{
if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
{
if(!$model->validate())
{
echo CActiveForm::validate($model);
Yii::app()->end();
}else{
$this->renderBillingShippingForm();
}
}
if(isset($_POST['ajax']) && $_POST['ajax']==='signup-form')
{
if(!$model->validate())
{
echo CActiveForm::validate($model);
Yii::app()->end();
}else{
$this->customerSignup($model);
}
}
}
这里是函数
public function customerSignup($model)
{
$model->attributes=$_POST['Customers'];
if($model->validate())
{
$model->password=encrypting($model->password);
$model->email=$model->email;
if ($model->save())
{
$this->renderBillingShippingForm();
}
}
}
还有一个
function renderBillingShippingForm()
{
$billingShippingInfo = new CustomerBillingShippingInfo;
$this->renderPartial('billing_shipping_form', array("billingShippingInfo"=>$billingShippingInfo));
Yii::app()->end();
}
任何想法
提前致谢
【问题讨论】:
标签: ajax widget yii renderpartial