Formulaire et Firefox

Résolu
ivanmac Messages postés 25 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 6 octobre 2005 - 3 mai 2005 à 21:18
Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 - 14 nov. 2005 à 21:47
Bonjour, j'utilise un formulaire que j'envoie vers une page php.
- Dans ce formulaire, une case rendre "enable" le bouton de validation, seulement si elle est cochée par l'utilisateur. Par défaut la case est décochée, donc le bouton grisé.

Ça marche dans IE pc, Safari et Firefox mac, mais pas dans Firefox pc.

En fait le script active bien mon bouton, la page php qui récupère les données me les affichent correctement mais je ne reçois pas de mail.

Voilà le script dans le head : 

<script type="text/javascript">

<!--

function ChangeStatut(formulaire) {
if(commande2.conditions.checked true) {commande2.Submit.disabled false }
if(commande2.conditions.checked false) {commande2.Submit.disabled true }

}

//-->

</script>

9 réponses

Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
4 mai 2005 à 01:07
Premièrement il serait preférable d'utiliser les balises <form> entre ton bouton et ensuite d'utiliser document.forms[0].Submit.disabled = true ou false.
3
ivanmac Messages postés 25 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 6 octobre 2005
3 mai 2005 à 21:30
Désolé, c'était illisible, je change de navigateur et revoilà quelque chose de plus propre :



Bonjour, j'utilise un formulaire que j'envoie vers une
page php.



- Dans ce formulaire, une case rendre "enable" le bouton de
validation, seulement si elle est cochée par l'utilisateur. Par défaut
la case est décochée, donc le bouton grisé.



Ça marche dans IE pc, Safari
et Firefox mac, mais pas dans Firefox pc.

En fait le script active bien
mon bouton, la page php qui récupère les données me les affichent
correctement mais je ne reçois pas de mail.



Voilà le script dans le head
:




<script type="text/javascript">

<!--

function ChangeStatut(formulaire) {

if(commande2.conditions.checked true) {commande2.Submit.disabled false }

if(commande2.conditions.checked false) {commande2.Submit.disabled true }

}

//-->

</script>
0
ivanmac Messages postés 25 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 6 octobre 2005
3 mai 2005 à 21:32
Et je termine par :





Le bouton de validation est comme ça :







La console de Firefox m'indique 3 avertissement pour les deux lignes de
ma fonctions en marquant d'utiliser document.getElementById() plutôt
que ID/NAME mais j'ajoue que je m'y connais trop peu pour comprendre.



Merci de votre aide :o)



--

Ivan
0
ivanmac Messages postés 25 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 6 octobre 2005
4 mai 2005 à 09:42
Bonjour,



Bien sur que mon formulaire est dans des balises <form> ... </form>.



Pour ce qui est du script de vérification, je l'ai modifié comme tu l'indiques :

- commande2 est le nom du formulaire

- Submit est le nom du bouton (j'ai ensuite préféré le renommer bouton tout simplement)



<script type="text/javascript">

<!--

function ChangeStatut(formulaire) {

if(document.commande2.conditions.checked true) {document.commande2.Submit.disabled false }

if(document.commande2.conditions.checked false) {document.commande2.Submit.disabled true }

}

//-->

</script>



Il manquait peu de choses mais la console javascript et la confirmation donnée par ton message m'ont bien aidé. Merci !
0

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

Posez votre question
larion Messages postés 140 Date d'inscription mercredi 28 avril 2004 Statut Membre Dernière intervention 21 juillet 2005
7 mai 2005 à 18:49
Bonjour,

Si formulaire de ChangeStatut(formulaire) correspond bien au formulaire document.commande2
on peut écrire aussi :

<script type="text/javascript">
<!--
function ChangeStatut(formulaire) { formulaire.Submit.disabled = ! formulaire.conditions.checked; }
//-->
</script>
0
ivanmac Messages postés 25 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 6 octobre 2005
7 mai 2005 à 19:17
Merci Larion



Est-ce que cela revient à dire "tant que" n'est pas coché, alors le bouton reste désactivé ?

En fait une fonction de comparaison "N'est pas" mais écrite à l'envert (le "=!"), un peu non ?
0
larion Messages postés 140 Date d'inscription mercredi 28 avril 2004 Statut Membre Dernière intervention 21 juillet 2005
7 mai 2005 à 19:44
Non, c'est plus simple que cela :

formulaire.Submit.disabled = (! formulaire.conditions.checked);

Le [ ! ] correspond au 'pas' :
( ! true) = false
( ! false) = true

Sinon [ != ] , c'est 'pas' égale, ou différent.
0
stepibou Messages postés 112 Date d'inscription jeudi 11 mars 2004 Statut Membre Dernière intervention 11 octobre 2006
14 nov. 2005 à 10:32
rien à voir avec le sujet , mais le "forms[0]" permet donc de ne pas utiliser de nom au formulaire.

et ainsi d'etre valide W3C.

Un grand merci

stepiboum
0
Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
14 nov. 2005 à 21:47
stepidou -> Je connais pas la norme W3C à se sujet ,mais le forms correspond au tableau de tout les formulaires dans la page et n'empêche pas l'utilisation du nom du formulaire. Il permet tout simplement d'avoir accès aux formulaires depuis leur index dans la page.
0
Rejoignez-nous