我正在使用Python编写一个动态页面来生成HTML输出,其中表单将其值提交给生成的python脚本本身 - 这非常有效 - 在客户端使用JQuery Mobile。 我使用多页面布局,其中5页包含带滑块的表单。
我希望所有滑块都触发一个cgi脚本(女巫就是python脚本本身)。 我首先使用以下代码在每种形式中执行此操作:
<form action="**scriptname**" method="get" name="raum1" id="f_raum1">
<input type="range" name="slider_r1l" id="slider-1" value="**bfout1**" min="-70" max="12" data-theme="b" data-highlight="true" data-track-theme="a" onchange="document.getElementById('f_raum1').submit()"/>
( xxx 值将在输出到浏览器之前被python替换)
问题是,在我完成滑块值更改之前触发了onchange(意味着我仍然在滑块上的路上更改值),因为即使是一个小的更改也会触发cgi请求。 我想用vmouseup做到这一点,以便当我从设备上释放手指或鼠标时触发器变为真。
我在我的html标题中尝试了这个但是我没有让它工作(肯定是因为我缺乏javascript知识)并且在输入标记中删除了onchange:
<script type="text/javascript">
var in = getElementsByTagName("INPUT");
$(in).bind('vmouseup', function () {
self.document.submit();
});
</script>
我的问题在哪里?这应该将所有输入标签绑定到vmouseup函数?!?
问候卢克
答案 0 :(得分:1)
鼠标正在与图形组件交互,而不是输入框。你可以绑定到-ui-slider:
$('#slider-1').siblings('.ui-slider').bind('vmouseup', function () {
/* Do submit */
});
您可以在此处详细了解如何绑定滑块事件: jQueryMobile: how to work with slider events?