Jump to content
Sign in to follow this  
NerOcrO

[js] Parametres de fonction

Rate this topic

Recommended Posts

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>

Edited by NerOcrO

Share this post


Link to post
Share on other sites

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 ?:

Share this post


Link to post
Share on other sites

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.

Edited by NerOcrO

Share this post


Link to post
Share on other sites

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

Dans ta fonction id <=> elem :huh:

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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 ?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
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)

}

Share this post


Link to post
Share on other sites

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 :(

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...