Yii的ajaxSubmitButtonYii、ajaxSubmitButton

2023-09-10 16:39:54 作者:她还是走了

我是新来YII,我试图让一个ajax登录表单。这里是我的登录表单视图:

I am new to YII and I am trying to make an ajax login form. Here is my login form view:

<?php echo CHtml::beginForm(); ?>

<div class="row">
<?php echo CHtml::label('username', 'username'); ?>
<?php echo CHtml::textField('username'); ?>
</div>
<div class="row">
<?php echo CHtml::label('password', 'password'); ?>
<?php echo CHtml::textField('password'); ?>
</div>
<?php
echo CHtml::ajaxButton('sign in', array('site/login'),array(
        'type'=>'POST',
        'update'=>'#mydiv',
        'beforeSend' => 'function(){
            alert("beforeSend");
        }',
        'complete' => 'function(){
            alert("complete");
            }',

));
?>
<?php echo CHtml::endForm(); ?>
<div id="mydiv" style="color:white;">...</div>

下面是code控制器:

Here is the code in the controller:

public function actionLogin()
{
    $this->renderPartial('//blocks/user_info');
}

在USER_INFO我只是做回声一些文本;

in user_info I am just doing echo "some text"; .

现在的问题是,当我点击按钮,警报没有这样做。我究竟做错了什么?也许我需要包括在我的标题部分的一些js文件?

The problem is that when I am clicking on button alerts are not done. what am i doing wrong? Maybe I need to include some js files in my header section?

推荐答案

不知道这是你的问题,但的RenderPartial()不使用AJAX发挥好。这是一个众所周知的Yii问题:

Not sure if this is your problem, but renderPartial() does not play well with AJAX. It is a known Yii issue:

http://www.yiiframework.com/forum/index.php/topic/24699-yii-20-ajaxrenderpartial-conflict/ http://www.yiiframework.com/forum/index.php?/topic/10427-ajax-clientscript

http://www.yiiframework.com/forum/index.php/topic/24699-yii-20-ajaxrenderpartial-conflict/ http://www.yiiframework.com/forum/index.php?/topic/10427-ajax-clientscript

我碰到了问题,当我试图加载通过AJAX的一种形式,然后用CHTML :: ajaxSubmitButton提交了回去。

I ran into the problem when I tried to load a form via AJAX, then submit it back using CHtml::ajaxSubmitButton.