Phalcon PHP 范围输入

Phalcon PHP Range Input

我正在尝试创建一个带有几个滑块的页面。当您更改这些滑块时,我想修改来自模型的数据并更新视图。

我知道你可以通过在常规 PHP 中使用 ajax 来解决这个问题。但我太缺乏经验,无法在 phalcon 框架内解决这个问题。 Phalcon\Forms 不支持 <input type="range" />。所以我在我的伏特文件中添加了它:<input id="number_of_rooms" name="number_of_rooms" type="range" />.

我假设下一步是创建一个带有滑块事件处理程序的 JS 文件,该事件处理程序创建对我的控制器的 ajax 调用。我已经创建了事件处理程序,但是如何处理 ajax 调用给我带来了麻烦。

$('#number_of_rooms').on("change mousemove", function() {
    // $.ajax({
    //     method: "POST",
    //     url: "controllers/IndexController.php",
    //     data: { value: this.value }
    // })
    console.log("value: " + this.value);
});

但是我不知道如何将这些数据返回到我的控制器以修改我的模型。非常感谢帮助。

如果我的做法完全错误,请告诉我。谢谢!

    $.ajax({
        type:'POST',
        url: "{{ url() }}/your_path", (you create this path in file route)
        data: { value: this.value },
        async: false,
        dataType: "json",
        success:function(result){
            // the result will return from the controller
            // use the result to update your modal content

        },
        error: function(){
            // got error from controller
            // Do something 
        }
    });

在你的路线上

$backend->addPost('/your_path', array(
    'controller' => 'yourcontroller',
    'action' => 'yourmethod'
));

不要忘记创建您的控制器控制器并在其中添加您的方法

希望对您有所帮助

由于你通过ajax发送数据,那么POST-ed数据将是json格式,你可以用this->request->getPost()捕获它并传递它进入您的 getPost() 处理程序进行修改。例如,返回的数据将是 value: val,然后在您的控制器

中使用 $variable = $this->request->getPost('value') 捕获它