Javascript jQuery将提交的范围滑块值发送到远程服务器
我有一个页面,它有多个范围滑块和匹配的提交按钮,因此我可以在用户更改每个滑块值后提交该值,并将其发送到服务器,其中程序正在运行一个函数,该函数返回该值的平方并将其返回给我。这是我正在使用的代码:Javascript jQuery将提交的范围滑块值发送到远程服务器,javascript,jquery,Javascript,Jquery,我有一个页面,它有多个范围滑块和匹配的提交按钮,因此我可以在用户更改每个滑块值后提交该值,并将其发送到服务器,其中程序正在运行一个函数,该函数返回该值的平方并将其返回给我。这是我正在使用的代码: $(window).on("load", function(){ var slider = $(".slider"); slider.change(function(){ var output= this.value;
$(window).on("load", function(){
var slider = $(".slider");
slider.change(function(){
var output= this.value;
$(".formoid").submit(function(event) {
posting= $.get( "http://192.168.4.49:8002/data", { n:output });
posting.done(function(data){
console.log(data)
});
});
});
});
(Html)
需求第三方服务
值:%
需求第三产业
值:%
问题是,每次我提交另一个滑块的值时,我也会得到上一个滑块的值。例如,如果我将第一个滑块的值移动到3,我会在控制台中得到9。如果在此之后,我将另一个滑块的值移动到2,我会得到9和4。有人知道怎么解决这个问题吗 您并不真正希望表单提交,因此您不需要“提交”处理程序,更不用说每次更改一个滑块时都会增加的“提交”处理程序的累积 相反,请附加一个“单击”处理程序:
- 禁止表单提交
- 查找按钮对应的滑块元素
- 执行
$。获取(…)…
$(window).on("load", function() {
$(".btn-info").on('click', function(e) {
e.preventDefault(); // prevent form submission.
var $slider = $(this.form).closest('div').find("input.slider");
$.get( "http://192.168.4.49:8002/data", { n: $slider.val() }).then(function(data) {
console.log(data);
});
});
});
值9从何而来?您是否有一个完整的代码片段,我们可以尝试运行它来更好地理解这个问题?可能需要包含HTML。还有
.submit()
?有一个使用python hub运行的rest API,我通过.get()将初始值(本例中为3)发送给它在那里,值是平方的,然后返回。感谢这以一种更干净的方式工作,但是steel也有同样的问题,我将在上面的代码中包含一些html。希望这有帮助。我也会尝试一下,但我实际上通过在代码中使用单击而不是提交来修复它,并将输出变量设置为“全局”,这样就可以在.get()中使用独立地。
$(window).on("load", function() {
$(".formoid").on('click', 'button', function(e) { // guess; adjust as necessary to delegate button click handling to the form.
e.preventDefault(); // prevent buttons submitting the form
var $slider = $(this).prev('input'); // guess; adjust as necessary to select the appropriate slider relative to the clicked button
$.get( "http://192.168.4.49:8002/data", { n: $slider.val() }).then(function(data) {
console.log(data);
});
});
});
$(window).on("load", function() {
$(".btn-info").on('click', function(e) {
e.preventDefault(); // prevent form submission.
var $slider = $(this.form).closest('div').find("input.slider");
$.get( "http://192.168.4.49:8002/data", { n: $slider.val() }).then(function(data) {
console.log(data);
});
});
});