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 :

Traitement formulaire de calcul


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Octobre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 10
    Points : 5
    Points
    5
    Par défaut Traitement formulaire de calcul
    Bonjour a tous,
    j'ai une petite question concernent un traitement de calcule d'un trajet

    le site est en HTML animé JS

    j'ai intégrer l'API Google map pour le calcule d'un trajet d'une adresse A a adresse B;

    le formulaire se trouve sur la page d'accueil,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form action="#!/calcule"  enctype="multipart/form-data" method="post" onsubmit="return calcRoute();">
    			<fieldset>
    				<input type="text" id="input_depart" placeholder="" autocomplete="on" value="Adresse A..." />
    				<input type="text" id="input_arrivee" placeholder="" autocomplete="on" value="Adresse B..." />
    			</fieldset>
    			<input type="submit" value="" data-type="submit"/>
    		</form>
    la carte google map se trouve sur : #!/calcule ,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <li id="calcule">
    				<div class="col grid_8 alpha">
    					<div class="inner">
    						<h2><span class="white">Trajet</span> Information</h2>
    <div style="margin:auto;width:300px;height:300px" id="map_canvas">
     
    						</div>
    Mon code Javascript,

    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
    function calcRoute() {
     
    		for (i = 0; i < markerArray.length; i++) {
    			markerArray[i].setMap(null);
    		}
     
    		markerArray = [];
     
    		var start = document.getElementById("start").value;;
    		var end = document.getElementById("end").value;
    		var request = {
    			origin: start,
    			destination: end,
    			travelMode: google.maps.DirectionsTravelMode.DRIVING
    		};
     
    		directionsService.route(request, function(response, status) {
    		  if (status == google.maps.DirectionsStatus.OK) {
     
    			kilometrage=response.routes[0].legs[0].distance.value/1000;
    			unquart=response.routes[0].legs[0].duration.value/4;
    			gainTime=Math.floor((unquart*3)/60);
     
    			//alert(dump(response,0));
    			//alert('gainTime = '+gainTime);
     
    			directionsDisplay.setDirections(response);
    			//showSteps(response);
    			//alert(kilometrage);
    			calcule_tarif(kilometrage);
    			document.getElementById('kilometrage_course').value=kilometrage;
    			document.getElementById('gain_time_course').value=gainTime;
    			//alert(kilometrage);
    		  } else {
    			alert('Google : no route found, incomplete address');
    		  }
    		});
    	}
    ma question est comment faire pour envoyer les input start et end depuis la page du formulaire accueil pour afficher le calcule sur la page calcule,

    si quelqu'un peux me venir en secour, moi je ne trouve pas la solution.

    merci d'avance pour votre aide.

    Salutation.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Ben... tu peux pas les récupérer comme ça
    C'est pas la même page, donc les valeurs JavaScript sont perdues.
    En revanche, les valeurs des input sont transmises via la requête POST à récupérer à l'aide d'un langage serveur.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Octobre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Merci Bovino pour ta réponse,

    Donc je dois utiliser PHP?
    tu peux m’expliquer comment stp?

    salutations.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par patcino Voir le message
    ... question concernent un traitement de calcule d'un trajet ...
    Et un formulaire de traitement d'orthographe, ça t’intéresse ?

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Octobre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Et un formulaire de traitement d'orthographe, ça t’intéresse ?
    Ce n’est pas en perfectionnant la bougie que l’on a découvert l’électricité,
    Bien amicalement.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par patcino Voir le message
    Ce n’est pas en perfectionnant la bougie que l’on a découvert l’électricité,
    Très juste !

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Octobre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    salut,
    j'ai essayé d'envoyer a ce code PHP mais ca me retourne une page vide!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php  
     
    if (isset($_POST['input_depart']) && isset($_POST['input_arrivee'])) { 
     
       echo .$_POST['input_depart'].$_POST['input_arrivee'];  
    }  
    ?>
    comment je peux envoyer les input du form et exécuter le script de calcule en même temps?

  8. #8
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Tes éléments input n'ont pas d'attribut name .

    A+.

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Octobre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Même résultat avec ce code, page blanche,


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form action="#!/calcule"  enctype="multipart/form-data" method="post" onsubmit="return calcRoute();">
    			<fieldset>
    				<input type="text" name="depart" id="input_depart" placeholder="" autocomplete="on" value="Adresse A..." />
    				<input type="text" name="arrivee" id="input_arrivee" placeholder="" autocomplete="on" value="Adresse B..." />
    			</fieldset>
    			<input type="submit" value="" data-type="submit"/>
    		</form>
    Ce que je ne comprend pas c'est comment renvoyer le résultat de php vers la page ou le calcule doit se faire? si vous pouvez me donner un exemple ou m'expliquer comment je doit faire svp,

    Merci,

    Salutations

  10. #10
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059

  11. #11
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 112
    Points
    44 112
    Par défaut
    Bonjour
    plusieurs choses me gênent dans ton problème

    si je résume l'ordre des choses,
    - saisie DEPART
    - saisie ARRIVEE
    - soumission => appel de la fonction calcRoute()
    ...jusqu'ici c'est clair mais cela se gâte car la fonction calcRoute() ne retourne rien et si elle retournait quelque chose de toute façon cela ne servirait à rien.

    La fonction calcRoute() appelles la méthode directionsService.route qui envoi une requête dans la "nature" et lorsqu'une réponse revient, la fonction calcRoute() à déjà rendu la main, tout ceci étant asynchrone.


    En clair rien ne se passe, cela revient à ce qu'explique Bovino dans Un classique AJAX : utiliser les données au bon moment !.

    Il ne te faut soumettre ton formulaire que quand la réponse est de retour et ce dans la fonction callBack de la requête, sans oublier un return false dans la fonction calcRoute() pour éviter la soumission par défaut.

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Octobre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Salut NoSmoking,

    D'accord.., En fait ce que je veux vraiment obtenir A la fin c'est uniquement d'envoyer les inputs départ est arrivé dans un autre formulaire, à partir du quel le calcul doit se faire réellement, donc si je comprends bien ça ne sers à rien de faire appel à la fonction calcRoute() dans le premier formulaire?

    Salutations.

  13. #13
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 112
    Points
    44 112
    Par défaut
    Citation Envoyé par patcino Voir le message
    (...)donc si je comprends bien ça ne sers à rien de faire appel à la fonction calcRoute() dans le premier formulaire?
    si c'est pour ne pas utiliser le résultat effectivement cela ne sert à rien.

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Octobre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    OK, j'ai bien compris, je vais essayer de creuser un peu..
    En attendant Je te remercie pour ton soutien.

Discussions similaires

  1. problème traitement formulaire cgi(débutant)
    Par Shyboy dans le forum Web
    Réponses: 13
    Dernier message: 02/07/2006, 18h17
  2. ACCESS 2002 - formulaire - champs calculés
    Par louroulou dans le forum Access
    Réponses: 6
    Dernier message: 01/06/2006, 15h16
  3. [PHP-JS] [javascrip + php] traitement formulaire
    Par Invité dans le forum Langage
    Réponses: 4
    Dernier message: 24/04/2006, 13h13
  4. formulaire qui calcule ????????
    Par yoan_111 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/03/2006, 13h07
  5. Réponses: 3
    Dernier message: 23/01/2006, 10h10

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