Verouiller un form [Résolu]

Signaler
Messages postés
103
Date d'inscription
jeudi 2 mars 2006
Statut
Membre
Dernière intervention
4 février 2009
-
Messages postés
103
Date d'inscription
jeudi 2 mars 2006
Statut
Membre
Dernière intervention
4 février 2009
-
Bonjour,

Voila jai cree une feuille en html qui contient 3 form en html, ils contiennent des listes deroulantes, des textareas et un bouton ok chacun, ce que je voudrais c'est que quand je clic sur le premier bouton ok, le form contenant ce bouton se verrouille pour ne plus changer les entres. je voudrais aussi que a l'ouverture de la page les form 2 et 3 soient verouilles et quils ne se deverouille quau clic sur le premier bouton OK, je sais pas si je me suis fais comprendre sinon voila mon probleme.

Merci d'avance pour laide apporter.

26 réponses

Messages postés
1251
Date d'inscription
mercredi 7 août 2002
Statut
Modérateur
Dernière intervention
10 avril 2013

Re,

si je peux te donner un autre conseil d'expérience du début :
1. crée 3 pages avec tes différents états (genre etape1.php, etape2.php, etape3.php) tu peux même te contenter dans un premier temps de faire de simple page html. Ensuite tu testes le passage d'une étape à l'autre sans te soucier des données.
2. Une fois le point 1 bien maîtriser, met en place la récupération des données coté serveur selon l'une des deux méthodes présentées ci-dessus.
3. Une fois le point 2 bien maîtriser, observe ton code (coté serveur et client séparément) de tes 3 pages et tu verras que tout te sembleras plus claire ce qui te permettras d'intégrer le tout en une seule page.
Lorsque tu auras fait ce type d'exercice plusieurs fois tu verras que les choses te paraîtront plus simple.
Après tu devras faire face à d'autres problèmes mais chaque chose en son temps !

En résumé, travail par étape, assure toi que chaque étape réponde bien à ton besoin et tu verras que tout ira bien.

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
Mon Blog
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
32
Salut,

Il faut que tu fasse une fonction javascript qui sois :

- Met tout les éléments du form en question en disabled

- Met un évènement comme ça sur chaque élèment du form ou sur le form : onfocus="blur()"

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
103
Date d'inscription
jeudi 2 mars 2006
Statut
Membre
Dernière intervention
4 février 2009

Merci, je debute en javascript donc je ne comprend pas tout.
Je dois aussi recuperer les donnees saisies et les traiter avec php, est -ce que cela posera un probleme?
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
32
Non, cela ne posera pas de problème.

Ba on va dire qu'on va assigner un évènement onclick="fonction qui va empècher de cliquer sur le formulaire()" sur le bouton de ton form.

Tu dois avoir fait une fonction qui empèche qu'on puisse changer les valeur des champs de ton formulaire en empèchant de donner le focus a ces évènement, pour cela tu as deux solutions, sois tu fait que ta fonction mette ça sur chaque élèment de ton formulaire : onfocus="blur();", sois tu fait que ta fonction mette ça sur tout les élèments de ton formulaire : onfocus="return false;".

Petit exemple :

<head>
      <script type="text/javascript">
      function blurForm() {
            document.form1.element1.onFocus = function() {
                  return false;
            }
            document.form1.element2.onFocus = function() {
                  return false;
            }
      }
      </script>
</head>

      <form name="form1">
            
            [...]
            <textarea name="element2"></textarea>
            
      </form>

Voila, es ce que tu comprend mieux avec cet exemple ?

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
1251
Date d'inscription
mercredi 7 août 2002
Statut
Modérateur
Dernière intervention
10 avril 2013

Bonjour,

 le principe d'un form c'est d'envoyer les données au serveur !
 Lorque ton form 1 est rempli que fais-tu ? Envoie ou pas ?
Si tu l'envoies, par quel canal : http ou ajax ?

Tes réponses vont déterminer la façon de procéder !

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
Mon Blog
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
32
Salut nickadele,

Oui, il va envoyé les données car : "Je dois aussi recuperer les donnees saisies et les traiter avec php, est -ce que cela posera un probleme?"

Après si c'est traité avec php, ça peut être sois du php, sois de l'ajax, je ne sais pas trop lequel il ou elle utilise car il parle de griser les autres formulaire après, a un moment il dit que la page se recharge et a un autre, on peut penser que non, donc a lui de le dire...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
103
Date d'inscription
jeudi 2 mars 2006
Statut
Membre
Dernière intervention
4 février 2009

J'ai compris le principe même si pour l'instant cela ne fonctionne pas, je te remerci pour ton aide, c'est sympa.
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
32
Quoi, ça ne fonctionne pas ? essai de remplacer le return false; par blur(); mais bon ça devrai marcher normalement !

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
103
Date d'inscription
jeudi 2 mars 2006
Statut
Membre
Dernière intervention
4 février 2009

Pour répondre aux questions:  voici le script que j'utilise:

<html>
<head>
<title>Creation Planning</title>
</head>

<form name="etape1" method="post">

Nombre de groupe horaire : <select name="nbgrpho">
<option value="# " selected></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>

</form>

<form name="etape2" method="post" onfocus="blur()">
Entrer la plage horaire:

Entrer le nombre de t&eacutel&eacuteconseill&eacute dans le groupe:

<form name="etape3" method="post">
Choisir les t&eacutel&eacuteconseill&eacutes pour les groupes horaires:

<form>

</form>

</form>

</html>

Ce que je voudrai c'est que au démarrage les étapes 2 et 3 soit griser, une fois que l'étape 1 est validé (clic ok), l'étape 2 se dégrise et l'étape une se grise afin de ne plus pouvoir modifier les données. par la suite je récupère mes données avec php puisque je les traitent pour une base de données.

Voilà, merci pour l'aide
Messages postés
103
Date d'inscription
jeudi 2 mars 2006
Statut
Membre
Dernière intervention
4 février 2009

au faite, c'est "elle" et non "il", rare mais vrai, je suis une femme qui debute en javascript!!!!
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
32
alors la j'ai plus d'idée !

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
bonjour et bienvenue lisbeth,
>>rare mais vrai,
pas si rare que cela... il y a des intervenantes très
      très compétantes sur CodesSources...

quelques remarques....
des form dans des form... tu vas avoir du mal
<form>...</form>   pas de <form> entre

tu n'as pas d'action dans tes formulaires
ça recharge donc la même page lors de l'envoi de ce formulaire
<form action="une page.ph" method="post"....
pas du bouton submit ? tu transmets quand ?

par exemple :

<form name="etape2" action="page2.ph"
        method="post" onfocus="blur()">
Entrer la plage horaire:

Entrer
le nombre de téléconseillé dans le
groupe:

</form>

en cliquant sur ok2, ça envoie le value des champs à page2.php
qui pourra traiter $_POST['plage'] et $_POST['nb']
( voire $_POST['ok2'] )

pas regardé les histoires de blur pour l'instant
( pas trop compris le but )

Cordialement

          Bul [mon Site] [M'écrire]        
Messages postés
103
Date d'inscription
jeudi 2 mars 2006
Statut
Membre
Dernière intervention
4 février 2009

Donc si je comprend bien, je dois utiliser une autre page pour que ça fonctionne!!

Merci je vais tester de suite
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
>>Donc si je comprend bien, je dois utiliser une autre page pour que ça fonctionne!
pas obligatoirement,, ça peut-être la même
"il suffit" que coté php tu testes ce qu'il fait quand il faut ! ;o)
( et que tu renvoies uniquement le html qu'il faut à priori )

          Bul [mon Site] [M'écrire]         
Messages postés
103
Date d'inscription
jeudi 2 mars 2006
Statut
Membre
Dernière intervention
4 février 2009

Merci pour ton Bultez.
Même si je ne comprend pas tout je vais cherche et tester.
J'ai été voir ton site, j'aime beaucoup, comme je démarre dans plusieurs langages, ton site est utile, alors merci beaucoup.
Messages postés
1251
Date d'inscription
mercredi 7 août 2002
Statut
Modérateur
Dernière intervention
10 avril 2013

Bon pour faire simple, puisque tu fais des échanges complet de ta page avec le serveur, tu n'as pas vraiment besoin de javascrit pour activer ou désactiver les formulaires :

1. l'utilsateur fait la demande de la page au serveur
2. le serveur envoie la page avec le premier formulaire actif les autres inactifs.
3. l'utilisateur rempli le premier formulaire et l'envoie au serveur
4. le serveur valide le premier formulaire et envoie la page avec le premier formulaire inactif, le second actif et le troisième inactif.
...ainsi de suite

Attention, car lors de l'envoie du second formulaire (et des suivants), le serveur n'a plus connaissance des valeurs des précédents formulaires, sauf si tu stockes ces valeurs dans des variables de session (coté serveur).

Est-ce claire ?

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
Mon Blog
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
nickadele++
>>stockes ces valeurs dans des variables de session
ou que le 2ème formulaire reprenne les champs du 1er
    dans des input hidden par exemple
    le 3ème, celui du 2ème et du 1er... et ainsi de suite
          Bul [mon Site] [M'écrire]       
Messages postés
1251
Date d'inscription
mercredi 7 août 2002
Statut
Modérateur
Dernière intervention
10 avril 2013

bultez++ exact c'est une autre solution !

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
Mon Blog
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
reste à nico à nous en proposer une 3ème      
voire plus avec d'autres intervenants ;o)
           Bul [mon Site] [M'écrire]      
Messages postés
103
Date d'inscription
jeudi 2 mars 2006
Statut
Membre
Dernière intervention
4 février 2009

Bonjour,
Est-ce normal si les nouveaux sont paumés dès le départ? ou est ce que je suis vraiment très nul? Je ne comprend plus rien, si je ne suis pas obligée d'utiliser javascript, comment je fais? là je suis perdue!!!