Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Changer la valeur d'un champ hidden

8 réponses
Avatar
Zouplaz
Bonjour, j'ai un formulaire dans lequel se trouve un bouton. Lorsque
l'utilisateur clique sur le bouton je souhaite écrire une valeur
spécifique dans un champ hidden (ce champs est initialisé avec la valeur
0 au chargement du formulaire).

Voici le code html/js

<input type="button" value="Enregistrer et corriger" name="askreview"
id="askreview" name="askreview"
onclick="document.forms['FORM1'].askreview.value='1';document.forms['FORM1'].submit();"
/>

Le formulaire FORM1 existe bien :

<form action="/application.php" method="post" enctype="" id="FORM1"
name="FORM1">


Lorsque je clique le bouton, le formulaire est bien validé (le submit()
fonctionne) mais par contre le controle hidden askreview contient
toujours la valeur initiale.

J'ai testé aussi bien avec Firefox 1.5 qu'avec IE6.


Avez-vous une idée ?


Merci

8 réponses

Avatar
YD
Bonjour, j'ai un formulaire dans lequel se trouve un bouton. Lorsque
l'utilisateur clique sur le bouton je souhaite écrire une valeur
spécifique dans un champ hidden (ce champs est initialisé avec la valeur
0 au chargement du formulaire).

Voici le code html/js

<input type="button" value="Enregistrer et corriger" name="askreview"
id="askreview" name="askreview"
onclick="document.forms['FORM1'].askreview.value='1';document.forms['FORM1'].submit();"
/>


Es-tu sûr de n'avoir qu'un seul élément de formulaire nommé askreview ?

--
Y.D.

Avatar
CrazyCat
Zouplaz wrote:
<input type="button" value="Enregistrer et corriger" name="askreview"
id="askreview" name="askreview"
onclick="document.forms['FORM1'].askreview.value='1';document.forms['FORM1'].submit();"
/>
<form action="/application.php" method="post" enctype="" id="FORM1"
name="FORM1">


Pourquoi ne pas utiliser les propriétés getElementById qui sont bien
plus générales que les document.* ?
Ou pourquoi ne pas faire plus simplement: this.value = "1"

D'un autre coté, la *value* d'un button... j'ai un gros doute

--
Aide informatique: http://help-info.forumactif.com
Humour: http://www.chatfou.com
Tchattez en liberté: http://www.crazy-irc.net

Avatar
Thibaut Allender
<input type="button" value="Enregistrer et corriger" name="askreview"
id="askreview" name="askreview"
onclick="document.forms['FORM1'].askreview.value='1';document.forms['FORM1'].submit();"
/>


Es-tu sûr de n'avoir qu'un seul élément de formulaire nommé askreview ?


Ben déjà il a deux attributs "name" cet input...
C'est peut-être tout simplement ça qui coince.

--
thibaut allender | http://capsule.org | http://photo.capsule.org


Avatar
Zouplaz
CrazyCat wrote:
Zouplaz wrote:

<input type="button" value="Enregistrer et corriger" name="askreview"
id="askreview" name="askreview"
onclick="document.forms['FORM1'].askreview.value='1';document.forms['FORM1'].submit();"
/>
<form action="/application.php" method="post" enctype="" id="FORM1"
name="FORM1">



Pourquoi ne pas utiliser les propriétés getElementById qui sont bien
plus générales que les document.* ?
Ou pourquoi ne pas faire plus simplement: this.value = "1"

D'un autre coté, la *value* d'un button... j'ai un gros doute



Je ne change pas la valeur du bouton mais celle du champ hidden du même
formulaire.

J'ai aussi essayé avec getElementById :
document.getElementById('FORM1').elements['askreview'].value='1';
ou
document.getElementById('FORM1').askreview.value='1'

Ca ne fonctionne pas non plus...


Avatar
Zouplaz
Thibaut Allender wrote:

<input type="button" value="Enregistrer et corriger" name="askreview"
id="askreview" name="askreview"
onclick="document.forms['FORM1'].askreview.value='1';document.forms['FORM1'].submit();"
/>


Es-tu sûr de n'avoir qu'un seul élément de formulaire nommé askreview ?



Ben déjà il a deux attributs "name" cet input...
C'est peut-être tout simplement ça qui coince.



Quel c*n ! J'ai le bouton porte le même nom que le champ hidden... Pfff
merci !



Avatar
Zouplaz
CrazyCat wrote:
Zouplaz wrote:

<input type="button" value="Enregistrer et corriger" name="askreview"
id="askreview" name="askreview"
onclick="document.forms['FORM1'].askreview.value='1';document.forms['FORM1'].submit();"
/>
<form action="/application.php" method="post" enctype="" id="FORM1"
name="FORM1">



Pourquoi ne pas utiliser les propriétés getElementById qui sont bien
plus générales que les document.* ?
Ou pourquoi ne pas faire plus simplement: this.value = "1"

D'un autre coté, la *value* d'un button... j'ai un gros doute



Rha, j'avais nommé le bouton sur le même nom... C'est pour ça que tu
trouvais ça bizarre !


Avatar
CrazyCat
Zouplaz wrote:
Je ne change pas la valeur du bouton mais celle du champ hidden du même
formulaire.


Tu devrais peut-être utiliser des id différentes pour ton bouton et ton
champ, une id est *normalement* unique.

J'ai aussi essayé avec getElementById :
document.getElementById('FORM1').elements['askreview'].value='1';
ou
document.getElementById('FORM1').askreview.value='1'


document.FORM1.askreview.value='1';

ou, avec des ids bien uniques:
document.getElementById("askreview_hidden").value = '1';
(askreview_hidden est l'id de ton champ)


--
Aide informatique: http://help-info.forumactif.com
Humour: http://www.chatfou.com
Tchattez en liberté: http://www.crazy-irc.net

Avatar
ASM
Zouplaz wrote:

<input type="button" value="Enregistrer et corriger" name="askreview"
id="askreview" name="askreview"
onclick="document.forms['FORM1'].askreview.value='1';document.forms['FORM1'].submit();"
/>
<form action="/application.php" method="post" enctype="" id="FORM1"
name="FORM1">



Pourquoi ne pas utiliser les propriétés getElementById qui sont bien
plus générales que les document.* ?


Ben !
pourquoi faire compliqué quand c'est tout simple
1) l'arbre (ou collection?) [form] existe depuis plus longtemps que le DOM
2) l'arbre [form] est toujours d'actu
3) c'est bien plus direct dans ce cas précis

<input type=button value="Corriger" onclick="askreview.value='1';">
<input name="envoi" type=submit value="Valider">
<input name="askreview" type=hidden value="0">

D'un autre coté, la *value* d'un button... j'ai un gros doute


Outre qu'il n'était pas question de changer un bouton,
Ben oui,

changer la valeur d'un bouton, pourquoi pas ?
c'est hatchement cool !
même NC4.5 en tient compte.

<form action="truc.php" onsubmit="return (this.askreview.value==1);">
<input type=button value="Corriger"
onclick="askreview.value='1';this.value='C'est fait !';envoi.value='Valider';">
<input name="envoi" type=submit value="Attendre">
<input name="askreview" type=hidden value="0">
</form>


--
Stephane Moriaux et son [moins] vieux Mac