Aller au contenu

Sujets conseillés

Posté (modifié)

uiop,

J'ai une fonction js comme suit :

function fct1(id,elem)
{
alert(document.getElementById(id).elem.value);
}

La console javascript de firefox me retourne qu'il ne connait pas 'elem' donc j'en conclut qu'il ne prend pas en compte ma variable.

Comment écrire pour qu'il l'a prenne en compte ?

Nero ... un mec qui a vraiment du mal avec js lol.

PS :

<form action="" id="tableau">
<input type="text" id="aleas_travaux_0" value="5" onkeyup="fct1('tableau','aleas_travaux_0')" />
</form>

Modifié par NerOcrO
Posté

Tu passes une valeur à ta fonction, vraisemblablement une chaîne de caractères.

Donc définis ta fonction différemment:

function fct1(msg)
{
alert(msg);
}

Mais dans ce cas elle ne sert plus à rien...

Autant utiliser directement l'appel à alert() dans ton onkeyup, non ?:

Posté (modifié)

J'ai bien évidemment plusieurs input à la suite (d'où le 0 sur mon id).

Ce que je veux faire, c'est récupérer la valeur de l'input pour faire un calcul. Ici j'ai fait une procédure simple juste pour mon problème en faisant un alert pour visualiser ma valeur entrée.

PS : j'ai modifié mon premier post, ce n'était pas this.value mais l'id de l'input.

Modifié par NerOcrO
Posté

function fct1(id)
{
alert(document.getElementById(id).value);
}

Dans ta fonction id <=> elem :huh:

Posté

Ta réponse m'a fait réfléchir (lol) et c'est vrai qu'en mettant ton script, cela fonctionne.

Mais il me semble qu'on pouvait écrire comme je l'ai fait non ?

Car sans passer par des variables et en mettant en dur mes id, j'ai bien le retour de ma valeur, donc c'est surtout au niveau de l'écrire de ma fonction que j'ai un soucis.

Posté

Je ne vois pas l'intérêt du 'tableau'.

Tu crées juste ta fonction

<script type="text/javascript">
function fct1(valeur) {
alert(valeur);
}
</script>

et tu l'appelles avec ça :

<input type="text" id="aleas_travaux_0" value="5" onkeyup="fct1(this.value)" />

Posté

Ok donc on va dire qu'on fait abstraction de ce que doti faire ma fonction.

J'ai un problème d'écriture.

J'ai une fonction avec comme paramètre l'id d'un form et l'id d'un input.

Je veux l'afficher tout simplement avec ces deux paramètres.

C'est plus clair ?

Posté

Si ton tableau te sert au calcul :

<input type="text" id="aleas_travaux_0" value="5" onkeyup="fct1(this,'tableau');"

function fct1(field,field2)

{

var thisaleas_travaux=field.value;

var tableau=field2;

//calcul

}

<edit> Oups j'ai posté sans voir ta réponse </edit>

Mais je ne comprend pas à quoi te sert de rendre les input de la fonction variables si elle est déclenchée avec un évenement onkeyup qui est au niveau de la ligne ?

Il faudrait qu'on voie le reste de ton code pour te répondre

Posté

C'est parce que j'en ai plusieurs et je dois tous les additionner pour afficher un résultat d'où faire une fonction.

J'ai trois input, deux pour entrer des valeurs quelconques et le troisième pour afficher le résultat.

Mais je répète, la fonction de ma procédure importe peu, je veux juste savoir comment bien écrire ma ligne alert().

On va y arriver hein :D

Posté
J'ai trois input, deux pour entrer des valeurs quelconques et le troisième pour afficher le résultat.

<{POST_SNAPBACK}>

Le troisieme c'est l'ouput de ta fonction et non pas un input.

<input type="text" id="aleas_travaux_0" value="5" onkeyup="fct1(this,'input1','input2');"

function fct1(field,field1, field2)

{

var thisaleas_travaux=field.value;

var input1=field1;

var input2=field2;

var myoutput=0

//calcul

alert(myoutput)

}

Posté

Pourtant je suis clair, je ne veux pas savoir le calcul, je veux savoir comment écrire ma ligne alert().

Avec ta fonction, si j'ai 50 input, elle ne fonctionne plus à moins de mettre 50 paramètres ...

Merci de ton aide robinsonvendredi mais ce n'est pas ce que je demande :(

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...