微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Yii Framework中的流程输出

我有一个ajax提交按钮如下,

    echo CHtml::ajaxSubmitButton(
        '>', $this->createUrl('/shop/category/nextCategory&id=16&store=true&gift_store='.$_GET['gift_store'].'&startValue='.$start_value.'&endValue='.$endValue), array(
        'type'=>'GET',
        'update'=>'#test',
        'beforeSend' => 'function(){
                        alert("beforeSend");
                        }',
        'complete' =>    'function(){
                            alert("complete");
                        }',
        )
    );

在我在控制器中的动作中,我使用reder partial如下,

$this->renderPartial('view',array('model'=>$this->loadModel()),false,true);

因为我已将processOutput设置为true,所以ajax提交按钮工作正常.但它继续执行(我点击的次数).我希望它只在单击提交按钮时执行一次.
如果有人能帮我解决这个问题会很棒.我一直试图解决这个问题.

解决方法:

好吧,我解决解决方案.发生的事情是,
根据ID触发ajax请求.每次通过ajax重新加载div时,将加载一个新的委托/事件,指向他前面的那个ID.因此,当您实际单击按钮时,两个代表都将完成其工作,因为两者都匹配单击的按钮.

这个问题有两个解决方案.一个是每次生成按钮时都有一个唯一的id,如下所示,

array('id' => 'next-category-'.uniqid());

另一种方式,这就是我解决它的方式,

array("id"=>"next-category", "live"=>false);

live:boolean,是否应该使用live / delegate或direct style附加事件处理程序.如果没有设置,将使用liveEvents.将其提交给提交按钮解决了它.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐