使用Yii Framework在模态窗口中注册表格

时间:2018-07-25 11:22:30

标签: html web yii

我正在使用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相等,我认为问题将出在这两段代码上。

非常感谢您

0 个答案:

没有答案