0

私は現在、問題の解決に約 1 週間を費やしているので、このコミュニティで誰かが私を助けてくれるかどうか、または転倒の話が現実になる前に少なくとも手がかりを提供してくれるかどうかを親切に尋ねることにしました :-)

クライアント側でJQuery Mobileを使用して、フォームが値を生成するPythonスクリプト自体に送信するHTML出力を生成するPythonで動的ページをプログラミングしています。これは非常にうまく機能します。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 に置き換えられます)

問題は、小さな変更でも cgi 要求がトリガーされるため、スライダーの値の変更が完了する前に onchange がトリガーされることです (つまり、スライダーで値を変更する途中です)。デバイスから指またはマウスを離したときにトリガーが true になるように、vmouseup でそれを行いたいと考えています。

HTMLヘッダーでこれを試しましたが、機能しません(Javascriptの知識が不足しているため)、inputタグ内のonchangeを削除しました:

<script type="text/javascript">
var in = getElementsByTagName("INPUT");
$(in).bind('vmouseup', function () {
self.document.submit();
 });
</script>

私の問題はどこにありますか? これにより、すべての入力タグが vmouseup 関数にバインドされますか?

4

1 に答える 1

1

マウスは、入力ボックスではなく、グラフィカル コンポーネントと対話しています。-ui-slider にバインドできます:

$('#slider-1').siblings('.ui-slider').bind('vmouseup', function () {
  /* Do submit */
});

ここで、スライダー イベントをバインドする方法の詳細な説明を取得しました: jQueryMobile: スライダー イベントの操作方法?

于 2012-06-01T20:08:19.497 に答える