Enregistrer la position d'un clic dans un formulaire

Fermé
saeyo - 5 nov. 2012 à 19:08
georgesjeandenis Messages postés 23 Date d'inscription vendredi 6 juillet 2012 Statut Membre Dernière intervention 10 mars 2013 - 10 nov. 2012 à 02:38
Bonjour,

Comme je suis une bille en javascript mais que j'ai absolument besoin d'intégrer un script sur ma page php, je viens demander de l'aide.



Le principe est simple:

j'ai une page jeu.php où se trouve un formulaire qui envoie des variables en post vers une page de traitement php. Ce formulaire se soumet lorsqu'on clique à l'intérieur d'une div qui est une succession d'image transparentes, chacune contenant le code:

<a href="#" onclick="document.forms['form1'].case.value='a3';document.forms['form1'].submit();"><img src="images/vide.png"/></a>

Jusque là tout va bien. Le problème est que je souhaite maintenant enregistrer l'endroit exact où le joueur a cliqué.
J'ai donc ajouté à ma page le code jquery:

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
jQuery(document).ready(function(){
$("#special").click(function(e){
var posX = $(this).offset().left, posY = $(this).offset().top;
alert((e.pageX - posX)+ ' , ' + (e.pageY - posY));
});
})
</script>

le alert me renvoie bien la position du clic, puis le formulaire se soumet.



le problème est simple: comment récupérer les deux variables posX et posY pour les transmettre également dans mon formulaire?

merci d'avance!
A voir également:

3 réponses

Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
5 nov. 2012 à 19:50
Rajoute-toi deux input type hidden dans ton formulaire, avec un ID bien entendu.

<input type="hidden" name="posX" id="posX" />

Ainsi, tu pourras faire ça :
$("#posX").val(e.pageX - posX);

Il remplira ainsi le champs invisible que tu pourra retrouver ensuite :D
1
Ok je vais essayer, merci Nhay ;)
je vous tiens au jus...
0
georgesjeandenis Messages postés 23 Date d'inscription vendredi 6 juillet 2012 Statut Membre Dernière intervention 10 mars 2013 1
10 nov. 2012 à 02:38
C'est effectivement simple.
Juste rajouter un input "hidden" et document.getElementById et le tour est joué!

voir exemple:
www.lespointscom.com/a/misc/ajax_post

Vous pouvez aussi envoyer une requête ajax, mais pourquoi ce compliquer la vie quand on a la solution toute simple?
0