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 :

controle de formulaire


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mai 2011
    Messages : 13
    Par défaut controle de formulaire
    Bonjour,

    Débutant en php, je doit reprendre le travail de quelqu'un en insérant une nouvelle fonction.

    Ma page sert a réserver sur un camping et je doit mettre un message d'alerte afin qu'il ne puisse pas réserver moins de 7 jours.

    je voudrais donc appeler une fonction qui vérifie ces date lors de la validation du formulaire.

    j'ai donc fais une fonction que voici :

    ""Les alertes sont juste la a des fin de debug""
    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
     
    function CheckDureeSej()
    {
     
    				if (window.location.search != "") 
    		{
    						longueur = window.location.search.length - 1;
    						data = window.location.search.substr(1,longueur);
    						donnees = data.split("&");
    						urlvar = new Array();
    						urlvarnum = new Array();
     
    				for (var i=0; i < donnees.length; i++) 
    				{
    						position = donnees[i].indexOf("=");
    						variable = donnees[i].substr(0,position);
    						pos = position + 1;
    						valeur = decodeURI(donnees[i].substr(pos,donnees[i].length));
    				while (valeur.search(/\+/) != -1)
    						valeur = valeur.replace(/\+/," ");
    						urlvar[variable] = valeur;
    						urlvarnum[i] = valeur;
    				}
    		}
     
            alert(urlvar['CLId']);
            if (urlvar['CLId'] == 1)
            {
                    alert("b");
                    if (NbJours(document.getElementById('Debut sejour').value, document.getElementById('fin sejour').value) >=7)
                    {
                            alert("c");
                            document.formSaisie.submit();
                    }        
                    else
                    {
                            alert("d");
                            alert("durée du séjour trop court, minimum 7 jours");
                    }
            }                
            else
            {
                            alert("e");
                            document.formSaisie.submit();
            }                        
    }

    Puis en bas de mon formulaire voila ce que j'ai mis sur l'appel du bouton !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "    <td colspan='4' class='button-resa'><input type='submit' value='".$envoyer_resa."' onsubmit='CheckDureeSej()'></td>\n";
    Merci pour l'aide que vous pourriez m'apporter.

    Cordialement.

  2. #2
    Membre éclairé Avatar de kohsaka
    Homme Profil pro
    Intégrateur HTML / Developpeur .NET
    Inscrit en
    Janvier 2007
    Messages
    383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur HTML / Developpeur .NET

    Informations forums :
    Inscription : Janvier 2007
    Messages : 383
    Par défaut
    Et donc, quelle est ta question ?

    Cependant, je crois que normalement l'event onsubmit doit être dans la balise <form>

  3. #3
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Plusieurs choses :
    1. L'attribut onsubmit se met sur la balise form uniquement.
    2. Il est grandement préférable de faire le contrôle du formulaire côté PHP pour des raisons de sécurité
    3. Une description du problème serait la bienvenue, là tu nous as juste dit ce que tu avais et pas ce qui ne fonctionnait pas.

  4. #4
    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 : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Loceka Voir le message
    Plusieurs choses :
    1. L'attribut onsubmit se met sur la balise form uniquement.
    2. Il est grandement préférable de faire le contrôle du formulaire côté PHP pour des raisons de sécurité
    3. Une description du problème serait la bienvenue, là tu nous as juste dit ce que tu avais et pas ce qui ne fonctionnait pas.
    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

  5. #5
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Ben j'ai pas posté de PHP
    J'ai juste dit qu'il était plus sûr de faire la vérification côté PHP plutôt qu'en Javascript.

  6. #6
    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 : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Loceka
    Ben j'ai pas posté de PHP
    C'était pas à ton intention
    C'était par rapport à
    Citation Envoyé par joelafrite
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "    <td colspan='4' class='button-resa'><input type='submit' value='".$envoyer_resa."' onsubmit='CheckDureeSej()'></td>\n";
    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

  7. #7
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mai 2011
    Messages : 13
    Par défaut
    Alors la question, pour être plus précis, comment faire fonctionner correctement l'appel de la fonction dans le bouton ?

    Car dés que j'appel la fonction sur le bouton j'ai une page blanche qui s'affiche...

    J'ai essayé avec l'attribut onclick aussi mais c'est pareil.

  8. #8
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    @Bovino : ah pardon

    @joelafrite : <form onsubmit="CheckDureeSej(); return false;">.

  9. #9
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mai 2011
    Messages : 13
    Par défaut
    Citation Envoyé par Loceka Voir le message
    @Bovino : ah pardon

    @joelafrite : <form onsubmit="CheckDureeSej(); return false;">.

    Merci Loceka je vais tester.

    Pour plus d'info :


    mon problème est que je n'arrive pas à appeler ma fonction lors de la validation de mon formulaire, ou je récupère une page blanche (surement du au faite que l'évènement onsubmit étais mal placé) ou alors ma fonction n'était pas appeler du tout.
    Je vous met le début et la fin du formulaire:
    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
     
    <a name='haut'></a>
    <br><br>
     
    <div width='620' align='center'>
    <form action="resav.php?CLId=1" method="post" name="INSCRIPTION" id="INSCRIPTION" onSubmit="MM_validateForm('Debut sejour','','R','Fin sejour','','R','rquantite0','','R','rquantite1','','R','rquantite2','','R','rquantite3','','R','rquantite4','','R','CritResa0','','R'); return document.MM_returnValue;">
    <table border='0' cellspacing='0' cellpadding='0' align='center'>
      <tr>
        <td>
        <div id='messerror' style='display:none;' class='error-message-global'>Une ou plusieurs erreur(s) sont survenues.<br>Veuillez vérifier les champs de saisie indiqués</div>
    <table cellspacing='0' cellpadding='0' class='total-resa' align='center'>
      <tr>
    .
    .
    .
        </select></td>
      </tr>
      <tr>
        <td colspan='4' class='button-resa'><input type='submit' value='Suivant' class='button' ></td>
      </tr>
      <tr>
       <td>
    </table>


    du coup si je comprend bien il fraudais que ma fonction soit appeler par la fonction MM_validateForm ? ou alors je peut réaliser 2 appel de fonction sur le onsubmit ?

    et pour le contrôle en php, j'essayerai de faire quelque chose de mieux/plus propre après. je voudrais déjà essayer de réaliser ce que l'on me demande

    et encore merci pour vos réponses !

  10. #10
    Membre éclairé Avatar de kohsaka
    Homme Profil pro
    Intégrateur HTML / Developpeur .NET
    Inscrit en
    Janvier 2007
    Messages
    383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur HTML / Developpeur .NET

    Informations forums :
    Inscription : Janvier 2007
    Messages : 383
    Par défaut
    du coup si je comprend bien il fraudais que ma fonction soit appeler par la fonction MM_validateForm ? ou alors je peut réaliser 2 appel de fonction sur le onsubmit ?
    les 2 sont possibles, mais la meilleure solution reste de faire toutes tes validations dans MM_validateForm en effet.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Controler un formulaire
    Par Fleep dans le forum Général JavaScript
    Réponses: 26
    Dernier message: 04/05/2007, 09h58
  2. control de formulaire qui marche avec IE et non mozilla
    Par epeichette dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 03/03/2005, 16h47
  3. controle de formulaire
    Par Anonymous dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/10/2004, 09h21
  4. Controle de formulaire valid XHTML 1.1
    Par StagiaireEnGalère dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/10/2004, 22h15
  5. [jsp]controles des formulaires servlet ou javascript ?
    Par alexandra_ape dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 05/07/2004, 14h46

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