Séparer un formulaire en plusieurs parties

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Séparer un formulaire en plusieurs parties

par orgerix » 30 août 2007, 21:00

C'est que je dois mal expliquer alors parce que c'est pas compliqué du tout.

POur l'instant, oublie la fonction et écrit la manière dont tu coderais ce que tu veux faire, c'est à dire attribue comme valeur au champs cacher la réunion de deux champs.

par sisi37 » 30 août 2007, 20:55

Je sens que je vais laisser tomber car ça me semble trop compliqué au final... :?

par orgerix » 30 août 2007, 13:21

une fonction js se déclare comme une fonction php

Code : Tout sélectionner

function nomfonction(argment1,argument2...) {
Ensuite une fois la fonction déclaré, tu écris les commandes.

Ici ce sera
1 récupérer l'attribut value des deux champs
2concatener les valeurs
3 affecter le resultat au champs hiddden

Tu as deux choix. Soit tu fait une fonction spécifique, dans ce cas, tu ne mets aucun argument et tu mettra les id de tes champs à l'interieur de la fonction, soit tu fais une fonction réutilisable avec comme argument les id des champs concernés.

La déclaration sera de ce genre :

Code : Tout sélectionner

function nomfonction(id1,id2,idhidden) {
Et ensuite, tu utilisera id1 , id2 et idhidenn a la place des id de tes champs.

par sisi37 » 30 août 2007, 12:53

Merci pour ta réponse :-)

Sa m'éclaircie un peu.

Intégrer la fonction js au onSubmit, pas de problème :-)

Cependant je ne sais pas trop comment créer cette fonction javascript. Il faut que je sépare les deux ?

J'ai lu quelques tutoriaux, mais c'est ma première fonction que je "créer" même si j'ai l'aide de quelques fonctions toutes faites...

Au pire je laisse quand même la page en question, où j'ai essayé de faire ce que j'ai pu avant, et donc qu'il faudra que je modifie en renvoyant le formulaire vers le .js, mais j'ai besoin d'aide pour créer ce fameux .js :? :
http://sylvian37.info/prob.htm


Merci beaucoup pour tes réponses Ryle !

par Ryle » 30 août 2007, 12:09

Sujet déplacé ;)

Ce qu'il te faut en fait, c'est lorsque l'utilisateur soumet le formulaire (attribut onSubmit="" du formulaire) appeler une fonction js qui va récupérer la valeur des deux champs (document.nom_formulaire.nom_champ.value) et mettre à jour la valeur d'un champ hidden en les concaténant (avec un '+')

Le formulaire sera ensuite envoyé normalement avec les 3 valeurs, et le logiciel n'aura qu'à traiter celui contenant les valeurs concaténé qu'il pourra facilement identifier parce que vous aurez convenu du nom du champ invisible (ou il t'aura été imposé) au préalable :)

par sisi37 » 29 août 2007, 20:09

J'ai fait une recherche sur le forum, et j'ai trouvé quelque chose, mais ça correspond pas vu que moi ça renvoi pas vers une page PHP mais vers ça :
<form method=Get enctype="application/x-www-form-urlencoded">

Donc effectivement si on peut me déplacer ce serait cool :-)



Sinon j'ai trouvé autre chose qui pourrait m'interesser, un code mais je sais pas où faut le mettre comment etc...
#
# function AjoutTxt(LeTxt) {
# document.nomdufomulaire.nomduchampdetexte.value=document.nomdufomulaire.nomduchampdetexte.value + LeTxt;
# } 

Bon je vais réouvrir un sujet car là ça devient le bazarre comme ça je pourrais demander directement pour l'ajout de texte.

par Sékiltoyai » 29 août 2007, 19:30

Un modérateur va te le déplacer je pense.

par sisi37 » 29 août 2007, 19:06

Le soucis c'est qu'ensuite c'est traité par un logiciel que je ne connais pas, moi je touche pas trop à tout ça. Donc il comprendra rien si il y a un nouveau champ qui lui dit rien :-P

C'est possible de transférer ma demande dans la rubrique du javascript ou je dois en créer une nouvelle ?

En tout cas bravo pour la réponse rapide ! :shock: :shock: :shock:

par Ryle » 29 août 2007, 19:00

Et en quoi est ce dérangeant d'envoyer les valeurs deux champs ? tu peux très bien les récupérer et les rassembler ensuite en php :)
$telephone = $_GET['champ1'] . $_GET['champ2'];
Sinon c'est du javascript qu'il te faut pour lire la valeur des deux champs, les concaténer et stocker le tout dans un champ invisible du formulaire avant que celui-ci ne soit envoyé :)

Séparer un formulaire en plusieurs parties

par sisi37 » 29 août 2007, 18:52

Bonjour à tous,
Je débute en PHP et ça doit ce voir.

Ma question est la suivante :
Je souhaite dans un formulaire, séparer un champs d'un formulaire en plusieurs parties.

J'explique un peu :
Je souhaite par exemple qu'un utilisateur saisisse un numéro de téléphone en deux parties : 06 dans un premier champs, puis le reste dans un second.
Lorsque l'utilisateur valide, les deux champs se réunissent lors de l'envoi.

J'ai testé la balise fieldset, mais le problème est que lors de l'envoi dans l'URL envoyée il apparait champs1=...&champs2=...
Moi je voudrais juste le champs 1=... qui réunirait le 1 et le 2.

Merci ;-)