IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

passer les paramètres d'un formulaire


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 33
    Points : 18
    Points
    18
    Par défaut passer les paramètres d'un formulaire
    salut tout le monde,

    je dois récupérer les paramètres d'un formulaire par javascript et les renvoyer à un script perl.

    une partie des input de mon formulaire est statique et l'autre partie est générée dynamiquement selon un choix de l'utilisateur.

    mon problème, c'est que je ne sais pas comment récupéré les paramètres générés dynamiquement, et les passer ensuite à mon script perl ...

    quelqu'un peut-il m'aider ? est-ce possible de travailler comme ça ou bien dois-je directement envoyer mes paramètres à mon script perl ?

    je vous remercie déja (en espérant avoir donné une explication assez claire)


  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    ton script perl il est ou coté client ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 33
    Points : 18
    Points
    18
    Par défaut
    il s'exécute côté serveur

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    ben passe par php puisque tu as un formulaire ...

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 33
    Points : 18
    Points
    18
    Par défaut
    j'aimerais bien mais je dois faire ce site avec du perl côté serveur

    et quand bien même j'utiliserais du php, ma question reste la même, j'ai un certain nombre d'input fixe, qui sont obligatoirement présents sur la page. ensuite, selon ce que l'utilisateur a choisi dans un select, je rafraichis la page et y rajoute un certain nombre d'input avec des noms différents selon le choix fait dans le select.

    ce que j'aimerais, c'est que javascript puisse récupérer tous les input et construire le corps d'une requête à envoyer en POST à perl

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    heu que fait un formulaire quand on appuye sur le bouton submit ?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 33
    Points : 18
    Points
    18
    Par défaut
    et bien, tu vas peut-être m'apprendre quelque chose aujourd'hui.

    j'ai tjs récupéré le contenu de chaque input un par un en javascript mais s'il existe un moyen de récupérer l'entièreté du formulaire comme étant un seul bloc et de le transmettre directement au script côté serveur, ça m'intéresse

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    ton formulaire à un bouton submit ?
    te sers tu du action de ton form ?

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 33
    Points : 18
    Points
    18
    Par défaut
    Voici l'ouverture de mon form sans passer par javascript

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <form method="post" action="ctrlDemande.pl" name="formDemande" id=
                "formDemande">
    et en passant par javascript

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <form method="post" action="javascript:checkDemande()" name="formDemande" id=
                "formDemande">
    et mon submit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <button type="submit">Enregistrer</button>

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    arf desolé je focalisais sur l'action ...
    en post c'est impossible ...

    je suppose que tu ne veux pas passer les paramètres dans le lien ...

    ton script perl peut il recupérer les paramétres dans la ligne de commande ? si oui sous quelle forme doit être la ligne de commande

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 33
    Points : 18
    Points
    18
    Par défaut
    je ne connais pas encore assez perl pour pouvoir te répondre

    voilà ce que je fais en javascript si ça peut t'aider à comprendre ce que je veux faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    var requete;
    var statutUtil;
    var demRapide;
    var corps;
     
    function checkDemande() {
    	//Montrer que la requête est en cours
    	montrerActivite();
    	var service = document.getElementById("service").value;
    	var persDem = document.getElementById("persDem").value;
    	var courriel = document.getElementById("courriel").value;
    	var numTel = document.getElementById("numTel").value;
    	var courrielContact = document.getElementById("courrielContact").value;
    	var numTelContact = document.getElementById("numTelContact").value;
    	var typeDem = document.getElementById("typeDem").value;
    	statutUtil = document.getElementById("statutUtil").value;
    	if(statutUtil == "US") {
    		corps = "service="+encodeURIComponent(service)+"&persDem="+encodeURIComponent(persDem)+"&courriel="+encodeURIComponent(courriel)+"&numTel="+encodeURIComponent(numTel)+"&courrielContact="+encodeURIComponent(courrielContact)+"&numTelContact="+encodeURIComponent(numTelContact)+"&typeDem="+encodeURIComponent(typeDem);
    	}
    	else {
    		// Si l'utilisateur n'est pas un US, le programme doit prendre en compte la checkbox de demande rapide
    		if(eval("document.forms.formDemande.demRapide.checked == true")) {
    			demRapide = "demRapide";
    		}
    		corps = "service="+encodeURIComponent(service)+"&persDem="+encodeURIComponent(persDem)+"&courriel="+encodeURIComponent(courriel)+"&numTel="+encodeURIComponent(numTel)+"&courrielContact="+encodeURIComponent(courrielContact)+"&numTelContact="+encodeURIComponent(numTelContact)+"&typeDem="+encodeURIComponent(typeDem)+"&demRapide="+encodeURIComponent(demRapide);
    	}
    	if(numTel == "" || persDem == "" || courriel == "" || numTel == "" || courrielContact == "" || numTelContact == "" || typeDem == "" ) {
    		var error = "error=Tous les champs n'ont pas été correctement remplis : <br />";
    		if(persDem == "") error = error+"- Nom du demandeur<br />";
    		if(courriel == "") error = error+"- Courriel du demandeur<br />";
    		if(numTel == "") error = error+"- Numéro de téléphone du demandeur<br />";
    		if(courrielContact == "") error = error+"- Courriel de la personne à contacter<br />";
    		if(numTelContact == "") error = error+"- Numéro de téléphone de la personne à contacter<br />";
    		if(typeDem == "") error = error+"- Type de demande<br />";
    		error += "&";
    		window.location.replace('formDemande.pl?'+error+corps);
    	}
    	else {
    		requete = getRequete();
    		//Ouvrir une connection asynchrone
    		requete.open("POST", "ctrlDemande.pl", true);
    		//Positionner une en-tête indispensable
    		//quand les paramètres sont passés par POST
    		requete.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    		//Traitement a effectué quand l'état de la requête changera
    		requete.onreadystatechange = onRetourRequete;
    		//Lancer la requête
    		requete.send(corps);
    	}
    }

  12. #12
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    le post ne peut à ma connaissance être exploité que par php ou asp ...

    la question principale est de savoir comment perl accepte les variables

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 33
    Points : 18
    Points
    18
    Par défaut
    POST fonctionne avec Perl, ça fonctionne quand je passe les paramètres directement à Perl, sans utiliser javascript

    et d'après ce que j'ai pu comprendre, Perl (avec le module CGI que j'utilise) et PHP fonctionnent de la même façon, tu peux éventuellement m'expliquer comment tu ferais en PHP et je verrai ensuite comment je peux l'adapter en Perl

  14. #14
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    ben juste mettre ton fichier perl en action
    puis en php on ferait $_POST

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 33
    Points : 18
    Points
    18
    Par défaut
    oui, ça je suis bien d'accord, mais mon problème, c'est que j'aimerais pouvoir traiter mon formulaire dans javascript comme un seul bloc, ne pas devoir construire le corps de la requete moi-même, simplement prendre ce que mon fomulaire HTML passe à javascript et le renvoyer au script à exécuter côté serveur

  16. #16
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    je ne vois pas trop ce que tu cherches à faire ...
    je ne comprends pas pourquoi le submit ne te convient pas ... si les saisies sont accessibles en php ... et que tu me dis que perl peut les utiliser pareil ...

    je ne comprends pas ce qu'il te faut de plus ?

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 33
    Points : 18
    Points
    18
    Par défaut
    dans ma page HTML, j'ai 7 champs qui seront toujours présents, ensuite, selon le choix qu'un utilisateur aura fait parmis ces champs, d'autres vont se rajouter sur la page, mais je ne peux pas prévoir combien, donc, je ne peux pas faire un document.getElementById sur ces nouveaux champs donc, je ne peux pas les introduire dans le corps d'une requête et donc, je ne peux pas les passer à Perl via javascript.

    ce que j'aimerais, c'est savoir s'il existe un moyen, une méthode en javascript qui permet de récupérer tous les paramètres passés par un formulaire et de construire le corps d'une requête comme je le fais manuellement

  18. #18
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    je ne vois pas pourquoi ces nouveaux champs ne seraient pas envoyés avec les autres ?
    tu les crées comment ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/12/2009, 09h48
  2. passer les paramêtre a un executable
    Par inno007 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 17/03/2008, 22h44
  3. Réponses: 1
    Dernier message: 22/06/2007, 15h40
  4. passer des paramétres d'un formulaire à une requête
    Par lasmarmann dans le forum Access
    Réponses: 1
    Dernier message: 24/10/2006, 09h37
  5. Réponses: 2
    Dernier message: 20/10/2006, 08h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo