Verouiller un form

Résolu
elisabeth_nov Messages postés 103 Date d'inscription jeudi 2 mars 2006 Statut Membre Dernière intervention 4 février 2009 - 3 nov. 2008 à 14:26
elisabeth_nov Messages postés 103 Date d'inscription jeudi 2 mars 2006 Statut Membre Dernière intervention 4 février 2009 - 5 nov. 2008 à 08:12
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

nickadele Messages postés 1251 Date d'inscription mercredi 7 août 2002 Statut Modérateur Dernière intervention 10 avril 2013
4 nov. 2008 à 19:39
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
3
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
3 nov. 2008 à 14:48
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 !
0
elisabeth_nov Messages postés 103 Date d'inscription jeudi 2 mars 2006 Statut Membre Dernière intervention 4 février 2009
3 nov. 2008 à 15:06
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?
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
3 nov. 2008 à 15:25
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 !
0

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

Posez votre question
nickadele Messages postés 1251 Date d'inscription mercredi 7 août 2002 Statut Modérateur Dernière intervention 10 avril 2013
3 nov. 2008 à 15:39
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
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
3 nov. 2008 à 15:43
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 !
0
elisabeth_nov Messages postés 103 Date d'inscription jeudi 2 mars 2006 Statut Membre Dernière intervention 4 février 2009
3 nov. 2008 à 15:45
J'ai compris le principe même si pour l'instant cela ne fonctionne pas, je te remerci pour ton aide, c'est sympa.
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
3 nov. 2008 à 15:48
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 !
0
elisabeth_nov Messages postés 103 Date d'inscription jeudi 2 mars 2006 Statut Membre Dernière intervention 4 février 2009
3 nov. 2008 à 16:02
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
0
elisabeth_nov Messages postés 103 Date d'inscription jeudi 2 mars 2006 Statut Membre Dernière intervention 4 février 2009
3 nov. 2008 à 16:03
au faite, c'est "elle" et non "il", rare mais vrai, je suis une femme qui debute en javascript!!!!
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
3 nov. 2008 à 16:16
alors la j'ai plus d'idée !

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
3 nov. 2008 à 16:29
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]        
0
elisabeth_nov Messages postés 103 Date d'inscription jeudi 2 mars 2006 Statut Membre Dernière intervention 4 février 2009
3 nov. 2008 à 16:34
Donc si je comprend bien, je dois utiliser une autre page pour que ça fonctionne!!

Merci je vais tester de suite
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
3 nov. 2008 à 16:44
>>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]         
0
elisabeth_nov Messages postés 103 Date d'inscription jeudi 2 mars 2006 Statut Membre Dernière intervention 4 février 2009
3 nov. 2008 à 16:50
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.
0
nickadele Messages postés 1251 Date d'inscription mercredi 7 août 2002 Statut Modérateur Dernière intervention 10 avril 2013
3 nov. 2008 à 17:07
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
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
3 nov. 2008 à 18:35
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]       
0
nickadele Messages postés 1251 Date d'inscription mercredi 7 août 2002 Statut Modérateur Dernière intervention 10 avril 2013
3 nov. 2008 à 20:06
bultez++ exact c'est une autre solution !

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
Mon Blog
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
4 nov. 2008 à 08:19
reste à nico à nous en proposer une 3ème      
voire plus avec d'autres intervenants ;o)
           Bul [mon Site] [M'écrire]      
0
elisabeth_nov Messages postés 103 Date d'inscription jeudi 2 mars 2006 Statut Membre Dernière intervention 4 février 2009
4 nov. 2008 à 08:41
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!!!
0
Rejoignez-nous