我正在使用Yii Framework在模态窗口中创建表单。
我在模态窗口中使用此表单时遇到了问题,当我尝试调用登录名时,我收到一条错误消息:未定义变量:$模态,并且页面甚至没有加载。
在这里,我将使用代码离开模态窗口:
<div class="modal fade in" id="abrirAcceder" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="top: 100px;">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button><br><br>
<h5 class="modal-title" id="myModalLabel">
<i class="fa fa-user fa-lg"></i>
ACCEDE A TU CUENTA
<span class="subheader right small-link">
<a href="#" data-dismiss="modal" aria-hidden="true" data-toggle="modal" data-target="#register_panel" data-reveal-id="register_panel" id="nueva-cuenta" class="radius secondary small button">CREAR NUEVA CUENTA</a>
</span>
</h5>
</div>
<div class="modal-body">
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'login-form',
'enableClientValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
),
)); ?>
<div class="col-md-6">
<?php echo $form->textField($model,'username'); ?>
<?php echo $form->error($model,'username'); ?>
</div>
<div class="col-md-6">
<?php echo $form->passwordField($model,'password'); ?>
<?php echo $form->error($model,'password'); ?>
</div>
<p class="col-md-12">
<small>
<i class="fa fa-lock"></i>
Tu <a target="_blank" href="<?php echo Yii::app()->createUrl('/site/politica') ?>">privacidad</a> es importante para nosotros. Nunca venderemos tu información.
</small>
</p>
<div class="col-md-12">
<?php echo CHtml::submitButton('Login'); ?>
<a href="#" class="facebook_connect radius button facebook"><i class="fa fa-facebook-square"></i> Haz login con facebook</a>
</div>
<?php //$this->endWidget(); ?>
</div><! -- div -->
<div class="col-md-12">
<hr>
<ul class="inline-list">
<li>
<small>
<a href="#" data-dismiss="modal" aria-hidden="true" data-toggle="modal" data-target="#forgot_panel" data-reveal-id="forgot_panel">¿OLVIDASTE TU CONTRASEÑA?</a>
</small>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
此模式窗口位于主题的主体中,并且在其中加载了不同的页面,如索引等。
我一直看到ajax解决了这个问题,但是我没有太多的主意,如果有人知道如何做,我将不胜感激。
我还保留了SiteController的代码:
public function actionLogin()
{
$model=new LoginForm;
// if it is ajax validation request
if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
{
echo CActiveForm::validate($model);
Yii::app()->end();
}
// collect user input data
if(isset($_POST['LoginForm']))
{
$model->attributes=$_POST['LoginForm'];
// validate user input and redirect to the previous page if valid
if($model->validate() && $model->login())
$this->redirect("index.php");
}
// display the login form
$this->render('login',array('model'=>$model));
}
LoginForm模型是Yii默认创建的基本模型。
与UserIdentity相等,我认为问题将出在这两段代码上。
非常感谢您