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 :

vérification de formulaire sous IE


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 12
    Par défaut vérification de formulaire sous IE
    Bonjour j'ai un formulaire composé de liste déroulante qui permettre de recherche des herbergements selon des critères de selection. J'ai une fonction javaScript qui verifie le formulaire avant l'envoi poour verifier que tous les champs sont bien remplis, problème, la verification ne fonctionne pas sous IE. En revanche aucun problème avec mozilla, google chrome, safari, ou autre. Est-ce que quelqu'un aurait une idée.

    Je cite mon code, sa aidera surement.

    Code php : 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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    <?php
    echo "</thead>";
     
    echo "<div id=\"form\">";
    echo "<form onsubmit=\"return valider(this)\" method=\"POST\" action=\"resultat.php\" name=\"formualire\" >";
    echo "<div id=\"legend\"><fieldset>";
    echo "<table>";
    echo "<legend>H&eacute;bergement</legend>";
     
     
    $lien=connect_bdd();
    		$requete="SELECT libelle_type from TYPE;";
    		$resultat=mysql_query($requete,$lien);
    		echo "<label for=\"champ\"></br>Type: </label><select required=\"true\" defval=\"--Choix--\" id=\"selectType\" name=\"selectType\" size=\"1\"><OPTION>--Choix--</OPTION>";
    	    while (($libelle_type = mysql_fetch_row ($resultat))!=NULL) {
    			echo "<OPTION>".$libelle_type[0]."</OPTION>";
    		}
    		echo "</select></br></br>";
     
     
     
     
    echo "<label for=\"champ\">Prix: compris entre </label>";
    echo "<select required=\"true\" defval=\"--Choix--\" id=\"prix1\" name=\"prix1\" size=\"1\"><OPTION>--Choix--</OPTION>";
     
    echo "<OPTION>".$prix[0]."</OPTION>";
    echo "<OPTION>".$prix[1]."</OPTION>";
    echo "<OPTION>".$prix[2]."</OPTION>";
    echo "<OPTION>".$prix[3]."</OPTION>";
    echo "<OPTION>".$prix[4]."</OPTION>";
    echo "<OPTION>".$prix[5]."</OPTION>";
    echo "<OPTION>".$prix[6]."</OPTION>";
    echo "<OPTION>".$prix[7]."</OPTION>";
    echo "<OPTION>".$prix[8]."</OPTION>";
     
    echo "</select>";
    echo "<label for=\"champ\"> et </label>";
     
    echo "<select required=\"true\" defval=\"--Choix--\" id=\"prix2\" name=\"prix2\" size=\"1\"><OPTION>--Choix--</OPTION>";
     
    echo "<OPTION>".$prix[0]."</OPTION>";
    echo "<OPTION>".$prix[1]."</OPTION>";
    echo "<OPTION>".$prix[2]."</OPTION>";
    echo "<OPTION>".$prix[3]."</OPTION>";
    echo "<OPTION>".$prix[4]."</OPTION>";
    echo "<OPTION>".$prix[5]."</OPTION>";
    echo "<OPTION>".$prix[6]."</OPTION>";
    echo "<OPTION>".$prix[7]."</OPTION>";
    echo "<OPTION>".$prix[8]."</OPTION>";
     
    echo "</select>";
    echo "<label for=\"champ\"> €</label></br></br>";
     
    echo "<label for=\"champ\"> Capacit&eacute: mini </label>";
    echo "<select required=\"true\" defval=\"--Choix--\" id=\"capacite\" name=\"capacite\" size=\"1\"><OPTION>--Choix--</OPTION>";
     
    echo "<option>".$capacite[0]."</option>";
    echo "<option>".$capacite[1]."</option>";
    echo "<option>".$capacite[2]."</option>";
    echo "<option>".$capacite[3]."</option>";
    echo "<option>".$capacite[4]."</option>";
    echo "</select>";
    echo "<label for=\"champ\"> personnes(s)</label></br></br>";
     
    echo "<label for=\"champ\"> Localit&eacute: inf&eacute;rieur &agrave </label>";
    echo "<select required=\"true\" defval=\"--Choix--\" id=\"localisation\" name=\"localisation\" size=\"1\"><OPTION>--Choix--</OPTION>"; 
    echo "<option>".$localisation[0]."</option>";
    echo "<option>".$localisation[1]."</option>";
    echo "<option>".$localisation[2]."</option>";
    echo "</select>";
    echo "<label for=\"champ\"> km de Bains</label></br></br>";
     
     
     
    echo "</table>";
    echo "</fieldset></div></br>";
     
    echo "<input type=\"reset\" value=\"Reinitialiser\">";
    echo "<input type=\"submit\" id=\"valeur\" name=\"valeur\" value=\"Valider\">";
    echo "</form>";	
    echo "</div>";
    echo "<p id=\"rouge\">*Tous les champs doivent &ecirc;tre remplis</p>";
     
    ?>

    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
    <script language="javascript" type="text/javascript">
     
    function valider(){
     
      if(document.getElementById("selectType").value=="--Choix--") {
         alert("Veuillez selectionner un type!");
         return false;
      }
      if(document.getElementById("prix1").value=="--Choix--"){
         alert("Veuillez indiquer un prix mini!");
         return false; 
      }
      if(document.getElementById("prix2").value=="--Choix--"){   
         alert("Veuillez indiquer un prix maxi!");
         return false;
      }
      if(document.getElementById("capacite").value=="--Choix--"){
         alert("Veuillez selectionner une capacit\351!");
         return false; 
      }
      if(document.getElementById("localisation").value=="--Choix--"){
         alert("Veuillez selectionner une localisation!");
         return false; 
      }
      if(document.getElementById("prix1").value>document.getElementById("prix2").value){
         alert("Fourchette de prix incorrect, veuillez choisir un prix maxi sup&eacuterieur au prix mini!");
         return false;
      }
    }
     
    </script>
    Décidemment je deteste IE... mais sachant que ce formulaire est destiné aux personnages agés principalement, je me dois qu'il fonctionne sous IE car c'est à 90% le navigateur qui sera utilisé quand le site sera opérationnel.

    Merci de votre aide.

    Sbenett

  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 : 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
    Important : Les règles incontournables d'utilisation de ce forum.
    Merci de poster le code HTML généré et pas le php...

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    echo "</thead>";
     
    echo "<div id=\"form\">";
    echo "<form onsubmit=\"return valider(this)\" method=\"POST\" action=\"resultat.php\" name=\"formualire\" >";
    echo "<div id=\"legend\"><fieldset>";
    echo "<table>";
    Tu fermes un thead, tu ouvres une div puis tu ouvres une table...

    La structure HTML me semble un peu louche, ce qui pourrait expliquer que IE ne s'y retrouve 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

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 12
    Par défaut
    Désolé, je débute dans le domaine,

    Je ferme un thead, préalablement ouvert, mais je n'ai pas cité cette partie de code, car elle me semblait inutile pour gérer le problème.

    Ma structure thead, div et table devrait être organiser autrement?

    Merci de ta réponse rapide, c'est peut-être une première solution que tu m'apportes, après quelques jours de casse tête, ça fait du bien de se sentir aidé.

  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
    Dans une table, le seul contenu que tu peux mettre (en dehors des balises de structure de la table) doivent être dans des balises <td>.
    Donc oui, ta table est mal élaborée et risque de poser des problèmes d'interprétation.

    D'autre part, pour un select, le value correspond au value de l'option sélectionnée, si les balises <option> n'ont pas de value, IE n'aime pas ça (et au passage, defval n'existe 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
    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
    Par défaut
    Bonjour,

    Pourquoi ne pas pas concaténer un texte que tu mets dans un seul alert pour citer tous les champs non remplis?

    A+.

  6. #6
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 12
    Par défaut
    Oui je pourrais éventuellement faire ca, mais ca ne corrigerait pas mon erreur pour autant?

    D'autant plus que mes champs sont jamais vide puisqu'il y à une valeur par défaut à savoir "--Choix--".

    Sous Mozilla ou autre navigateur prenant en compte mon javascript, l'alert spécifie quelle champ est pas défini.
    Mais Sous IE sachant que l'envoi du formulaire, envoi par la suite des requete, il prend la valeur --Choix-- tel qu'elle dans la requete et renvoi evidemment un erreur de requete puisque elle correspond à rien dans ma base de donnée.

    IE me complique bien la vie

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

Discussions similaires

  1. Vérification de formulaire avec regexp
    Par Shadow aok dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 06/08/2007, 11h57
  2. Exporter un sous formulaire sous excel
    Par titou dans le forum Access
    Réponses: 3
    Dernier message: 14/02/2005, 17h01
  3. Création d'un formulaire sous flash?
    Par ultrakas dans le forum Flash
    Réponses: 5
    Dernier message: 11/01/2005, 18h33
  4. Les formulaires sous le portal d'oracle
    Par nic211 dans le forum Oracle
    Réponses: 16
    Dernier message: 05/07/2004, 16h19
  5. JavaScript de vérification de formulaire
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 6
    Dernier message: 26/02/2003, 13h48

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