Probleme document.getElementById

Résolu/Fermé
pee3x Messages postés 72 Date d'inscription samedi 13 décembre 2008 Statut Membre Dernière intervention 14 février 2013 - 19 sept. 2010 à 11:03
pee3x Messages postés 72 Date d'inscription samedi 13 décembre 2008 Statut Membre Dernière intervention 14 février 2013 - 22 sept. 2010 à 03:48
Bonjour,

je souhaite faire un script qui change la valeur d'un champs de type hidden sur mon site, j'ai donc fait une fonction qui contient document.getElementById('champs').value="blabla"; et qui est activée par un onclick

mais quand je clique sur le lanceur, la fonction s'execute mais la console js me retourne l'erreur suivante:

document.getElementById('champs') is null

alors que le champs avec "champs" comme id existe bien et que le document.getElementById est dans une fonction

pouvez vous m'aider?

merci d'avance


A voir également:

7 réponses

js95 Messages postés 773 Date d'inscription samedi 14 juin 2008 Statut Membre Dernière intervention 29 juillet 2014 354
19 sept. 2010 à 11:27
Modifier une valeur d'un formulaire avec du javascript n'est pas une bonne idée : si l'internaute désactive le javascript, la valeur sera erronée. Il vaudrait mieux remplacer le bouton avec "onclick" par des boutons radio : l'attribut "value" qui sert dans le traitement des données n'est pas visible par l'internaute donc pas de souci (on peut le voir en affichant le code source mais on voit aussi les champs cachés dans le code source donc niveau sécurité ça ne change rien).
Voilà à quoi doivent ressembler les boutons radio :
<input type="radio" name="blabla" value="blabla1" />
<input type="radio" name="blabla" value="blabla2" />


Si tu tiens vraiment à conserver le javascript, sache que le document.getElementById('champs') doit être placé dans un bloc de script après l'élément d'id 'champs' ou bien si la fonction est écrite avant on est obligé de fournir l'id à cette fonction après l'élément, sinon il ne connaît pas l'id (non déclaré).
1
pee3x Messages postés 72 Date d'inscription samedi 13 décembre 2008 Statut Membre Dernière intervention 14 février 2013 4
Modifié par pee3x le 20/09/2010 à 10:44
merci de ta reponse

oui je tiens a garder javascript parce que ce n'est pas un formulaire c'est une petite fonction comme sur facebook de "j'aime" et si il n'y a pas js il ne peut pas s'en servir et est obligé de l'activer :)

j'ai essayé de mettre ma fonction après mais ca n'a pas marché :S
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
20 sept. 2010 à 11:19
Bonjour,

Tu pourrais nous donner le code de ton input hidden ?

Xavier
0
pee3x Messages postés 72 Date d'inscription samedi 13 décembre 2008 Statut Membre Dernière intervention 14 février 2013 4
20 sept. 2010 à 11:53
oui voila:

<input type="hidden" id="champs<?php echo $actu['id'];?>" value="<?php echo $nombre_aime;?>" />


et le js:

document.getElementById('champs'+id).value="1";


avec la variable id qui est déclarée comme paramaetre de la fonction avec le onclick
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
20 sept. 2010 à 14:01
Bonjour,

Alors voilà ce que je te conseille :
Dans ton javascript, rajoute un alert('champs'+id).
Comme ça tu sais exactement ce qui est utilisé par ton script.

Par ailleurs, dans ton navigateur, fais « Afficher la source » pour voir exactement comment ton champs s'appelle.

Et vérifie que les deux sont bien identiques :)

Xavier
0
pee3x Messages postés 72 Date d'inscription samedi 13 décembre 2008 Statut Membre Dernière intervention 14 février 2013 4
20 sept. 2010 à 21:06
Oui ca aussi j'ai essaye et ce sont bien les mêmes mais ça ne fonctionne pas il me renvoie toujours l'erreur

Bizard non?
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
21 sept. 2010 à 09:04
Oui, là je sèche...
Au pire, envoie tout le code de ta page html générée (pas le php)
0
pee3x Messages postés 72 Date d'inscription samedi 13 décembre 2008 Statut Membre Dernière intervention 14 février 2013 4
22 sept. 2010 à 03:48
ah M****... zut ^^

en faite j'avais quatre champs comme ca et je n'avais regarde que les premier (dans le code genere) alors que les derniers avaient l'atribut value vide

merci de ton aide ;)
0