JeuWeb - Crée ton jeu par navigateur
Récupérer valeur d'une input dans un form - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Récupérer valeur d'une input dans un form (/showthread.php?tid=7556)



Récupérer valeur d'une input dans un form - MeTaLLiQuE - 30-12-2015

Bonsoir,

Je dois récupérer la valeur d'un input en hidden. 

Je fais donc 


var reloadPage = $('form[name=' + name + '] > input[name=reloadPage]').val();

pour pouvoir récupérer le contenu de l'input cependant, il me renvoie "undefined" ...

Je suis obligé d'enlever "form[name=' + name + '] > " pour pouvoir récupérer ma valeur ?

Avez-vous une piste ? 

(Mon formulaire a bien un name="" de défini)

Cordialement,


RE: Récupérer valeur d'une input dans un form - Xenos - 30-12-2015

Salut,

mets des guillemets autour des valeurs d'attributs et vérifie que le input est un enfant direct du form (pas de fieldset, div ou autre entre les deux), car c'est ce que le sélecteur CSS > fait.


var reloadPage = $('form[name="' + name + '"] > input[name="reloadPage"]').val();

Attention: ce code est probablement injectable. Si var name = '" <!-- '; alors le sélecteur interprétera le code HTML contenu dans la variable name. document.querySelector() n'a pas ce problème (c'est le pendant de $('...') dans le standard Javascript... une superbe nouveauté datant de quelques années).


RE: Récupérer valeur d'une input dans un form - MeTaLLiQuE - 30-12-2015

Salut,

Merci pour ta réponse rapide.

En effet, j'ai des divs et autre après les form ...

Existe-t-il une solution pour contourner ce problème ? Afin de palier d’existence de div ou autre après le form ?

Cordialement,


RE: Récupérer valeur d'une input dans un form - Xenos - 30-12-2015

facile: tu vires le > Smile

Un peu de lecture pour apprendre les sélecteurs ("combinators") CSS
Y'en a des magiquements utiles !


PS: implicitement, ta question soulève un point intéressant et récurrent: tu as probablement copié/collé cette ligne du net, sans forcément la comprendre. Il faut se méfier quand on C/C du code. Perso, je préfère le retapper moi-même, pour m'obliger à en comprendre chaque ligne. C'est hyper-instructif d'une part, et cela permet de bien maitriser sa création, ce qui sera capital dans la durée ("mais pourquoi j'avais écris cette ligne de code-ci il y a 6 mois?!").