Phalcon PHP范围输入

时间:2017-02-04 17:04:15

标签: jquery phalcon

我试图在其上创建一个带有几个滑块的页面。当您更改这些滑块时,我想修改模型中出现的数据并更新视图。

我知道你可以在常规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);
});

但是如何将这些数据反馈给我的控制器以修改我的模型,我不知道。帮助会非常受欢迎。

如果我接近这个完全错误,请告诉我。谢谢!

2 个答案:

答案 0 :(得分:0)

    $.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'
));

不要忘记创建你的控制器控制器并在那里添加你的方法

希望这个帮助

答案 1 :(得分:0)

由于您通过ajax发送数据,因此POST-ed数据将为json格式,您可以使用this-&gt; request-&gt; getPost()捕获它并将其传递到您的getPost()处理程序进行修改。例如,返回的数据将为value: val,然后使用控制器中的$variable = $this->request->getPost('value')进行捕获