【问题标题】:Notify the controller of a button clicked in view通知控制器在视图中单击了一个按钮
【发布时间】:2015-06-02 01:45:39
【问题描述】:

如何通知控制器删除按钮被点击?

MyController.php

public function actionUpdate($id)
{
    isset($_POST['del'])
    {
       // delete user.
    }
}

MyView.php

<?php
echo '<button type="button" class="btn btn-danger" name="deleteButton">Delete User</button>'; 
?>

这是我尝试过的:

    $('.deleteButton').click(function()
    {
        var clickBtnValue = $(this).val();
        var ajaxurl = Yii::app()->basePath . '/controllers/MyController.php';

        del =  {'action': clickBtnValue};
        $.post(ajaxurl, del, function (response) 
        {

            alert("action performed successfully");
        });
    });

但是我无法在控制器上收到按钮被点击的通知。

【问题讨论】:

    标签: php model-view-controller yii


    【解决方案1】:
    1. 看来您使用的是 jQuery。 $('.deleteButton') 按类而不是名称选择元素。应该改用$('[name="deleteButton"]')
    2. 您不能以这种方式在 JS 中注入 PHP 代码。如果你的 JS 写在视图中,你应该把 PHP 代码包装起来&lt;?=Yii::app()-&gt;basePath ?&gt;
    3. Yii 使用 URL 管理器。这意味着 URL 不等于控制器文件路径。从视图&lt;?=$this-&gt;createUrl('my/update', array('id' =&gt; $userId) ?&gt; 构建一个URL。详细了解url management

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-05
      • 2013-04-25
      • 2017-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多