我有一个带有滑块的HTML,我正在尝试将滑块的值获取到我的烧瓶应用程序中:
HTML
<form method="POST">
<div class="slidecontainer" id="slide_container_f">
<p>Faturamento:<span id="demo"></span></p>
<input type="range" min={{min}} max={{max}} value={{max}} class="slider" id="myRange" name="faturamento">
</div>
</form>
烧瓶应用
@app.route('/modelos',methods=['GET','POST'])
def modelos():
#to listen from slider
faturamento=''
if request.method == 'POST':
faturamento=request.form['faturamento']
return render_template("modelos.html",min=0,max=100)
然而,法图拉门托从未更新过滑块的值。你能给我一个提示,为什么我不能检索这些值?
发布于 2018-08-29 08:54:01
在表单中缺少一个将表单提交到服务器的提交按钮。如何将表单提交给服务器?
HTML应该看起来像
<form method="POST" action="{{url_for('modelos')}}">
<div class="slidecontainer" id="slide_container_f">
<p>Faturamento:<span id="demo"></span></p>
<input type="range" min={{min}} max={{max}} value={{max}} class="slider"
id="myRange" name="faturamento">
<input type="submit" value="Submit">
</div>
</form>
当您点击submit时,faturamento
变量在您的烧瓶路径中得到的值是多少?你能打印出来看看它的价值吗?是零吗?是空字符串吗?
更新
如果不想要提交按钮,那么只要滑块发生变化,就应该使用AJAX调用与服务器进行通信。
JS码
$(function(){
var form = $('form');
$('#myRange').on('change mouseup', function(){
$.ajax({
type: "POST",
url: form.action,
data: form.serialize(),
}).done(function(res){
//do something with the response from the server
});
});
});
每当您释放鼠标时,滑块将发生更改,它将对您的modelos
路由进行AJAX调用,并且faturamento
的值应该是滑块的当前值。
https://stackoverflow.com/questions/52066172
复制