OVH Cloud OVH Cloud

détecter une modification dans un formulaire

7 réponses
Avatar
p_geni...
Bonjour,


j'ai un formulaire qui permet à des utilisateurs de modifier
quelques informations: (mot de passe, préférences etc...)

J'utilise un boutton de type submit pour envoyer le formulaire
même s'il n' ya pas eu de modif on peut cliquer ce button

je souhaite mettre l'état du button sur disabled (je sais faire)
et ne l'activer (je sais faire) que s'il y a eu un ou des changements.

Y a-t-il un évenement qui permet de détecter la moindre modification
dans un formulaire? (je ne sais pas faire)


merci de votre aide,
Pierre.
-----
échangez opinions et commentaires dans les forums de discussion.
http://www.usenetgratuit.com/

7 réponses

Avatar
ASM
Bonjour,


j'ai un formulaire qui permet à des utilisateurs de modifier
quelques informations: (mot de passe, préférences etc...)

J'utilise un boutton de type submit pour envoyer le formulaire
même s'il n' ya pas eu de modif on peut cliquer ce button

je souhaite mettre l'état du button sur disabled (je sais faire)
et ne l'activer (je sais faire) que s'il y a eu un ou des changements.

Y a-t-il un évenement qui permet de détecter la moindre modification
dans un formulaire? (je ne sais pas faire)


à mon idée, il faut une détection sur chaque élément du form
- onclick pour radios et checkboxes
- onchange pour champs textes et sélecteurs


onchange="this.form.elements[this.form.length-1].disabledúlse;"


Le onclick sur l'ensemble du form ne suffisant pas pour indiquer qu'une
modif a été faite.

--
Stephane Moriaux et son [moins] vieux Mac

Avatar
Guy
Bonjour,


j'ai un formulaire qui permet à des utilisateurs de modifier
quelques informations: (mot de passe, préférences etc...)

J'utilise un boutton de type submit pour envoyer le formulaire
même s'il n' ya pas eu de modif on peut cliquer ce button

je souhaite mettre l'état du button sur disabled (je sais faire)
et ne l'activer (je sais faire) que s'il y a eu un ou des changements.

Y a-t-il un évenement qui permet de détecter la moindre modification
dans un formulaire? (je ne sais pas faire)


merci de votre aide,
Pierre.
-----
échangez opinions et commentaires dans les forums de discussion.
http://www.usenetgratuit.com/

Bonjour,


au chargement de votre form, il faut rendre invisible votre bouton submit

<span id="buttonsub" style="visibility:hidden"> ...votre submit... </span>

puis sur chaque element de votre formualire ii faut detecter le
changement (evenement onchange=montresub) ou le click (evenement
onclick=montresub() )
et faire executer une fonction qui rendra visible le submit

function montresub(){

document.getElementById("buttonsub").style.visibility = "visible" ;
}
il n'est peut etre pas necessaire d'utiliser span si le bouton peut etre
identifié directement <input type=submit id="buttonsub"
style="visibility:hidden" .... > (A VERIFIER)
G

Avatar
David JOURAND
Y a-t-il un évenement qui permet de détecter la moindre modification
dans un formulaire? (je ne sais pas faire)


Non. Mais vous pouvez mettre en place un mécanisme ad hoc. Par exemple,
si vous avez un champ myPassword, ajoutez en un second
de type hidden, myPasswordOldValue dont la valeur est bien entendue
initialisée à la même valeur que le premier. Il suffit ensuite de
vérifier si la valeur de myPassword est différente ou non de
myPasswordOldValue. Cette vérification peut se faire sur les évenements
donnés par ASM dans ce fil.

--
David Jourand

Avatar
ASM
Bonjour,

j'ai un formulaire qui permet à des utilisateurs de modifier quelques
informations: (mot de passe, préférences etc...)

J'utilise un boutton de type submit pour envoyer le formulaire même
s'il n' ya pas eu de modif on peut cliquer ce button

je souhaite mettre l'état du button sur disabled (je sais faire)
et ne l'activer (je sais faire) que s'il y a eu un ou des changements.

Y a-t-il un évenement qui permet de détecter la moindre modification
dans un formulaire? (je ne sais pas faire)


au chargement de votre form, il faut rendre invisible votre bouton submit

<span id="buttonsub" style="visibility:hidden"> ...votre submit... </span>


non !
car sans javascript pour modifier l'affichage : pas de submit non plus

c'est le JS qui doit cacher le bouton,
et de le neutraliser doit suffire.

<html>
<body onload="document.forms[0][document.forms[0].length-1].disabled=true">

<form>
<p>Nom : <input name=nom onchange="verif()">
<p>Prenom : <input name=prenom onchange="verif()">
<p>E-mail : <input name=email onchange="verif()">
<p><input type=submit value=Envoi>
</form>

<script type="text/javascript">
function verif() {
document.forms[0][document.forms[0].length-1].disabledúlse;
}
</script>
</html>



--
Stephane Moriaux et son [moins] vieux Mac


Avatar
Guy


Bonjour,



<span id="buttonsub" style="visibility:hidden"> ...votre submit...
</span>



non !
car sans javascript pour modifier l'affichage : pas de submit non plus

c'est le JS qui doit cacher le bouton,


et si ! nous sommes sur un forum js !!

G



Avatar
Florian Sinatra
*Guy* @ 09/07/2006 12:08 :


Bonjour,



<span id="buttonsub" style="visibility:hidden"> ...votre submit...
</span>


non !
car sans javascript pour modifier l'affichage : pas de submit non plus

c'est le JS qui doit cacher le bouton,


et si ! nous sommes sur un forum js !!


Et alors ? On ne veut pas rendre invisible le submit mais le
*désactiver*. En xhtml on aurait écrit <input type="submit"
disabled="disabled" />. Et c'est à Javascript de le désactiver, car
sinon sans lui le submit ne pourrait pas être utilisé.




Avatar
ASM

non !
car sans javascript pour modifier l'affichage : pas de submit non plus

c'est le JS qui doit cacher le bouton,


et si ! nous sommes sur un forum js !!


N'importe quoi !


Même si on rencontre de plus en plus de sites gérés par JS et JS
seulement, ce n'est pas une raison pour inciter à tomber dans ce panneau.

Le tout JS est aussi inbitable que le tout Flash :-(

Le principe de base est que la page doit fonctionner normalement sans JS
et sans Flash, ni aucun autre programme extérieur au navigateur (ActiveX
ou autre faribolage).

--
Stephane Moriaux et son [moins] vieux Mac