Insérer un argument dans une définition de variable
gabier1
Messages postés
87
Statut
Membre
-
gabier1 Messages postés 87 Statut Membre -
gabier1 Messages postés 87 Statut Membre -
Bonjour à tous,
Je me frotte à Javascript pour la première fois. J'ai pratiqué plusieurs langages, donc avec les tutos qu'on trouve sur le net, ce n'est pas trop difficile.
Mais je sèche vraiment sur un truc.
Je veux faire une fonction Javascript de contrôle des données entrées dans un formulaire HTML (<form name="form_plan">).
Pour cela, dans chaque balise <input> j'insère un appel de la fonction comme suit
Quelle est la manière élégante de résoudre ce problème?
:) Gabier
Je me frotte à Javascript pour la première fois. J'ai pratiqué plusieurs langages, donc avec les tutos qu'on trouve sur le net, ce n'est pas trop difficile.
Mais je sèche vraiment sur un truc.
Je veux faire une fonction Javascript de contrôle des données entrées dans un formulaire HTML (<form name="form_plan">).
Pour cela, dans chaque balise <input> j'insère un appel de la fonction comme suit
<input type="text" name="champ1" onchange="checkchamp()"/>Et dans ma fonction Javascript je récupère l'entrée et je teste si c'est un nombre (après avoir réglé le problème des virgules).
<script>Jusque là, pas de problème mon code fonctionne pour contrôler champ1. Mais il y a 40 champs numériques dans mon formulaire, je voudrais donc mettre le nom du champ en paramètre d'appel de la fonction. Mais là je n'y arrive pas. Je récupère bien le nom "champ1", mais je n'arrive pas à l'insérer dans la définition de la variable.
<!--
function checkchamp()
{
var val=document.form_plan.champ1.value;
val=val.replace(",",".");
if (isNaN(val)) alert('Attention, '+ val +' n\'est pas un nombre');}
-->
</script>
Ce code ne marche pas, Javascript cherche vraiment document.form_plan.param.value et non document.form_plan.champ1.value (j'ai vérifié en visualisant le code sur la page html affichée.).
function checkchamp(param)
{
var val=document.form_plan.param.value;
...
Quelle est la manière élégante de résoudre ce problème?
:) Gabier
A voir également:
- Insérer un argument dans une définition de variable
- Insérer une vidéo dans powerpoint - Guide
- Insérer signature word - Guide
- Insérer un espace insécable dans word - Guide
- Insérer liste déroulante excel - Guide
- Insérer un tableau dans word - Guide
2 réponses
Salut,
Une solution efficace et élégante est de passer en paramètre l'objet courant this sur lequel est effectué l'événement (onclick ici) :
Ce qui permet de travailler directement sur votre objet comme ceci :
Pour votre première solution, si vous souhaitez passer le nom du champ en paramètres, vous devez alors dans votre fonction javascript récupérer le bon objet en fonction du nom en utilisant par exemple getElementsByName().
Bon développement
Une solution efficace et élégante est de passer en paramètre l'objet courant this sur lequel est effectué l'événement (onclick ici) :
<input type="text" name="champ1" onchange="checkchamp(this)"/>
Ce qui permet de travailler directement sur votre objet comme ceci :
function checkchamp(param)
{
var val= param.value;
...
Pour votre première solution, si vous souhaitez passer le nom du champ en paramètres, vous devez alors dans votre fonction javascript récupérer le bon objet en fonction du nom en utilisant par exemple getElementsByName().
Bon développement
samidu86
Messages postés
130
Statut
Membre
4
impek, j'aurrais pas dit mieu x)