如何通过 HTML 输入标签调用 PHP 函数 (Yii1.1)

How to call a PHP function through HTML input tag (Yii1.1)

如标题所示,我正在寻找上述问题的解决方案。我有以下按钮:

<input onclick="setRefreshTimer();" type="button" value="10 Seconds">

以及功能下方。这为刷新计时器设置了特定时间(在示例中为 10 秒),以便覆盖默认值 30 秒。

function setRefreshTimer() {
  Yii::log("I am not certain if I was here!");
  CHtml::refresh(Yii::app()->config->set('DASHBOARD_RELOAD', 10));
  return CHtml::refresh(Yii::app()->config->get('DASHBOARD_RELOAD'), $url);
}

我现在需要的是点击按钮时如何调用函数的解决方案。上面的代码是我迄今为止尝试过的代码,但它似乎无法正常工作,而且我似乎找不到原因。

任何帮助、建议 and/or 提示如何 solve/improve 非常欢迎这个问题。

好的伙计们。非常感谢您发送给我的惊人链接。很抱歉久违了。但多亏了你,我设法使用 Ajax 拨打了电话,而且工作得很好。我就是这样做的。

首先,DashboardController.php 中的函数会将我的仪表板的刷新计时器更改为 10 秒。

public function actionSetRefreshTimer() {
    $url = Yii::app()->request->url;

    Yii::log("I am not certain if I was here!");
    if (isset($_GET['DASHBOARD_RELOAD']) !== 10) {
      Yii::log("And it went into the if!");
      CHtml::refresh(Yii::app()->config->set('DASHBOARD_RELOAD', 10));
    }

现在 ajax 调用完成了工作。

<button id="tenSeconds">10 Seconds</button>

  <script>
$("#tenSeconds").click(function() { 
  console.log("The click worked just fine");
  $.ajax({
    url: '/path/to/my/function/SetRefreshTimer',
    method: 'POST',
  }); 
});
</script>