2012-05-03 7 views
0

Depuis que je passe environ une semaine à résoudre un problème, j'ai décidé de demander à cette communauté si quelqu'un peut m'aider ou au moins me donner une idée avant que l'histoire de tomber en panne ne devienne réalité: -)JQuery Mobile Slider vmouseup Événement

Je suis en train de programmer une page dynamique en Python qui génère une sortie HTML où un formulaire soumet ses valeurs au script python lui-même - cela fonctionne très bien - en utilisant JQuery Mobile côté client. J'utilise une mise en page de plusieurs pages où 5 pages contiennent un formulaire avec des curseurs.

Je veux que tous les curseurs déclenchent un script cgi (c'est le script python lui-même). Je l'ai fait d'abord avec le code suivant dans chaque forme:

<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()"/> 

(les xxx Les valeurs seront remplacées par python avant la sortie du navigateur)

Le problème est que le onchange est déclenché avant que je complète mon changement de valeur de curseur (signifie que je suis toujours sur le chemin sur le curseur pour changer les valeurs) puisque même un petit changement déclenche la demande de CGI. Je veux faire ça avec vmouseup afin que le déclencheur devienne vrai quand je relâche le doigt ou la souris de l'appareil.

J'ai essayé dans mon en-tête html, mais je ne suis pas à travailler (cause sûrement de mon manque de javascript connaissances) et a retiré le onchange dans la balise d'entrée:

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

Où est mon problème ? Cela devrait lier toutes les balises d'entrée à la fonction vmouseup?!?

salutations Luc

Répondre

1

La souris est en interaction avec les composants graphiques, et non la zone d'entrée. Vous pouvez lier à la -ui coulissante:

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

Vous avez obtenu une description plus détaillée de la façon de lier les événements curseur ici: jQueryMobile: how to work with slider events?