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')
捕获它
我正在尝试创建一个带有几个滑块的页面。当您更改这些滑块时,我想修改来自模型的数据并更新视图。
我知道你可以通过在常规 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')
捕获它