Soucis entre FF et IE

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 : Soucis entre FF et IE

Soucis entre FF et IE

par eLman » 13 janv. 2009, 17:03

Bonjour,

Voici mon problème. Je fais la vérification, côté client, de mes formulaires pour vérifier que les champs obligatoires ne sont pas vides et correctement remplis. Je fais ensuite la vérification en PHP.
Lorsqu'un champ n'est pas "valide" j'affiche une erreur pour avertir la personne. Tout marche impeccable sur FF mais plus sur IE. Je ne comprend pas.

Mon code du formulaire :

Code : Tout sélectionner

<!-- Formulaire d'ajout ou de modification d'un utilisateur --> <form name="formmembre" <?php if(array_key_exists('add',$_GET)){ ?> ACTION="../include/admin/validermembre.php?type=membre&methode=add"<?php } ?><?php if(array_key_exists('edit',$_GET)){ ?> ACTION="../include/admin/validermembre.php?type=membre&methode=edit&iduser=<?php echo''.$iduser.'';?>"<?php } ?> METHOD=post onSubmit="return validateFormMembre(this);"> <fieldset><legend align=top> Informations du compte </legend><br> <table BORDER=0 cellpadding="2" cellspacing="2"> <?php if ($_SESSION['Type_compte'] == 'Administrateur') { ?> <tr> <label id="label_type_cmpt"><td>* Type de Compte</td></label> <TD><select size=1 title="Le Type de Compte" name="type_cmpt" class="txt16-000000"> <option value=""> Choisir un type </option> <option value="Administrateur" <?php if(array_key_exists('edit',$_GET)) { if($type_compte == "Administrateur"){?>selected<?php }}?>> Administrateur </option> <option value="Emprunteur"<?php if(array_key_exists('edit',$_GET)) { if($type_compte == "Emprunteur") {?>selected<?php }}?>> Emprunteur </option> </select></TD> </tr> <?php } ?> <tr> <label id="label_nom"><td>* Nom</td></label> <TD><INPUT type=text size=25 title="Le nom" name="nom" <?php if(array_key_exists('edit',$_GET)) {?> value= "<?php echo''.$nom.''; ?> " <?php } ?> ></TD> </tr>

Code de la fonction de vérification javascript dans un fichier à part :

Code : Tout sélectionner

function isNotEmpty(data) { if (!data.value.match(/.+/)) return data.title + " est obligatoire"; return false; } function isString(data) { if (data.value.match(/\d+/)) return data.title + " n'est pas alphabetique"; return false; } function showError(data, ErrorMsg) { if (ErrorMsg){ //document.getElementById('label_'+data.name).innerHTML = ErrorMsg; //message d'erreur alert(ErrorMsg); data.focus(); //pointer l'objet à erreur return true; } else { document.getElementById('label_'+data.name).innerHTML = ''; //vider l'ex message d'erreur return false; } }

Code : Tout sélectionner

//Vérification du formulaire d'ajout/modification d'un utilisateur function validateFormMembre(form) { if ( !showError(form.type_cmpt, isNotEmpty(form.type_cmpt)) && !showError(form.type_cmpt, isString(form.type_cmpt)) && !showError(form.nom, isNotEmpty(form.nom)) && !showError(form.nom, isString(form.nom)) && !showError(form.identifiant, isNotEmpty(form.identifiant)) && !showError(form.identifiant, isAlphaNum(form.identifiant)) && !showError(form.password, isNotEmpty(form.password)) && !showError(form.password, isAlphaNum(form.password)) && !showError(form.quota_serie, isNotEmpty(form.quota_serie)) && !showError(form.quota_serie, isNumeric(form.quota_serie)) && !showError(form.quota_autre, isNotEmpty(form.quota_autre)) && !showError(form.quota_autre, isNumeric(form.quota_autre)) && !showError(form.quota_nb_ex, isNotEmpty(form.quota_nb_ex)) && !showError(form.quota_nb_ex, isNumeric(form.quota_nb_ex)) && !showError(form.courriel, isNotEmpty(form.courriel)) && !showError(form.courriel, isEmail(form.courriel)) ) { return true; } return false; }
Alors dans mon formulaire, le message s'affiche correctement pour la liste déroulant type_compte, mais lorsque je laisse vide le champ nom, l'erreur javascript n'apparait pas sous IE :/
Alors que sous FFF elle apparait sans soucis en me disant : Le nom est obligatoire ...


Merci de votre aide !


EDIT : Alors en faite après encore quelques tests, pour chaque formulaire la vérification sur premier élément marche à chaque fois, mais pas les suivant sur IE.
JE NE COMPREND PASSSS !
Une question de label ?