NerOcrO Posté 24 Février 2006 Posté 24 Février 2006 (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é 24 Février 2006 par NerOcrO
captain_torche Posté 24 Février 2006 Posté 24 Février 2006 Au final, tu veux faire quoi, avec ta fonction ?
Dan Posté 24 Février 2006 Posté 24 Février 2006 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 ?:
NerOcrO Posté 24 Février 2006 Auteur Posté 24 Février 2006 (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é 24 Février 2006 par NerOcrO
dièse Posté 24 Février 2006 Posté 24 Février 2006 function fct1(id){alert(document.getElementById(id).value);} Dans ta fonction id <=> elem
NerOcrO Posté 24 Février 2006 Auteur Posté 24 Février 2006 Non, ma valeur id est l'id de mon form. Oups j'ai oublié de le mettre, je vais le rajouter de suite.
NerOcrO Posté 24 Février 2006 Auteur Posté 24 Février 2006 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.
captain_torche Posté 24 Février 2006 Posté 24 Février 2006 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)" />
NerOcrO Posté 24 Février 2006 Auteur Posté 24 Février 2006 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 ?
robinsonvendredi Posté 24 Février 2006 Posté 24 Février 2006 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
NerOcrO Posté 24 Février 2006 Auteur Posté 24 Février 2006 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
robinsonvendredi Posté 24 Février 2006 Posté 24 Février 2006 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) }
NerOcrO Posté 24 Février 2006 Auteur Posté 24 Février 2006 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant