Variable is undefined sous firefox/OK sous IE

totala -  
totala1 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je rencontre actuellement un probleme avec un javascript
il fonctionne sous IE mais pas sous firefox

Quand j'ouvre la console d'erreur firefox au clic qui appel ma fonction ca me marche champ_input is undefined.

Voici mon code


Mon champ qui va dont la valeur va etre mise à jour selon le clique de l'utilisateur

<input type="text" readonly="readonly" size="3" id="champ_input" value="<%=A%>">





L'appel de ma fonction javascript

<a href="javascript:void(0)" onclick="update('+',<%response.write z%>,<%=minarticle%>,<%=maxarticle%>,<%=r("nb_point")%>,champ_input.value)">   

<a href="javascript:void(0)" onclick="update('-',<%response.write z%>,<%=minarticle%>,<%=maxarticle%>,<%=r("nb_point")%>,champ_input.value)"> 



Mon script

function update(op, id, valeurMin, valeurMax,nbptsarticle, ptsinitial){
if (op == '+' && ptsinitial>=nbptsarticle && toInt(getId(id).value)<valeurMax )
{
getId(id).value  = toInt(getId(id).value) + 1;
var objpoint = document.getElementById('champ_input')
objpoint.value=ptsinitial-nbptsarticle
}

if (op == '-' && toInt(getId(id).value)>0 )
{
getId(id).value  = toInt(getId(id).value) - 1;
var objpoint = document.getElementById('champ_input')
objpoint.value=toInt(ptsinitial)+toInt(nbptsarticle)
}

verification(id,valeurMin);


}



J'ai essayé plein de choses trouver a gauche et a droite sur le net mais rien a faire :(

Merci d'avance pour votre aide.


A voir également:

2 réponses

le père
 
Bonjour

Remplace champ_input.value par document.getElementById('champ_input').value dans l'appel à ta fonction. C'est la façon d'accéder à un élément en javascript. D'ailleurs, c'est bien comme ça que tu fais ensuite dans ton script.
Si ça marche quand même avec IE, c'est que IE accepte aussi la première syntaxe.
1
totala1 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup.

Cette solution fonctionne. Je viens de comprendre mon erreur. Mais c'était difficile a voir vu que ca fonctionnait sous IE..

Merci encore
0