Accueil > Forum > > > > Réaction différente de IE à Firefox
Réaction différente de IE à Firefox
lundi 21 juillet 2008 à 14:56:21 |
Réaction différente de IE à Firefox

lteixeir
|
Bonjour à tous ! Je travaille actuellement sur des champs textes qui doivent vérifier certaines conditions : s'écrire JJ/MM/AAAA ou JJ/MM/AAAA HH:MM ou JJ/MM/AAAA HH:MM:SS. J'utilise donc une expression régulière associée à du JavaScript pour tester cela sur un évènement onBlur. Voici l'expression régulière : var reg = /^(([0-2]\d|[3][0-1])[/]([0]\d|[1][0-2])[/]([1][9]|[2][0])\d{2})$|^(([0-2]\d|[3][0-1])[/]([0]\d|[1][0-2])[/]([1][9]|[2][0])\d{2}\s([0-1]\d|[2][0-3])[:][0-5]\d)$|^(([0-2]\d|[3][0-1])[/]([0]\d|[1][0-2])[/]([1][9]|[2][0])\d{2}\s([0-1]\d|[2][0-3])[:][0-5]\d[:][0-5]\d)$/gi; La partie principale est celle-ci : ^(([0-2]\d|[3][0-1])[/]([0]\d|[1][0-2])[/]([1][9]|[2][0])\d{2})$ (JJ/MM/AAAA). Sur IE tout fonctionne parfaitement, sur Firefox, c'est beaucoup plus aléatoire. Lorsque je remplis mon champ texte par "21/10/1998" par exemple et que je quitte mon champ texte, aucune erreur, mais si je refais cette manipulation une 2ème fois, l'alerte que j'ai mis en cas d'erreur s'affiche. :S Aucune erreur ne s'affiche dans la console d'erreur. D'où cela peut-il venir ? Et surtout, comment régler le problème ?
|
|
lundi 21 juillet 2008 à 15:17:42 |
Re : Réaction différente de IE à Firefox

bultez
|
Bonjour, aucune raison. même si les différences existent ( doux euphémisme ), pas sur ce que tu donnes on n'a pas tout ce qu'il faut d'ailleurs pour dire, mais je suppute un return false qui manquerait ? tu peux mettre un EXTRAIT du html ( formulaire ... ) ? enfin... fais nous un exemple qui ne fonctionne pas ! ( 5 lignes ! tout ce qu'il faut mais pas plus )
Cordialement  Bul [ mon Site] [ M'écrire]
|
|
lundi 21 juillet 2008 à 15:24:37 |
Re : Réaction différente de IE à Firefox

lteixeir
|
Voilà comment je l'utilise : "var reg2 = /^(([0-2]\d|[3][0-1])[/]([0]\d|[1][0-2])[/]([1][9]|[2][0])\d{2})$|^(([0-2]\d|[3][0-1])[/]([0]\d|[1][0-2])[/]([1][9]|[2][0])\d{2}\s([0-1]\d|[2][0-3])[:][0-5]\d)$|^(([0-2]\d|[3][0-1])[/]([0]\d|[1][0-2])[/]([1][9]|[2][0])\d{2}\s([0-1]\d|[2][0-3])[:][0-5]\d[:][0-5]\d)$/gi; // Date et Heure" & vbCrLf & _ " if ( document.getElementById(prefix + texte).value != '' ){" & vbCrLf & _ " if ( !reg2.test(document.getElementById(prefix + texte).value) ){" & vbCrLf & _ " window.alert(alerte);" & vbCrLf & _ " document.getElementById(prefix + texte).value = '';" & vbCrLf & _ " return false;" & vbCrLf & _ " }" & vbCrLf & _ " }" & vbCrLf & _
Comme tu peux le voir, le "return false;" y est...
|
|
lundi 21 juillet 2008 à 15:37:58 |
Re : Réaction différente de IE à Firefox

bultez
|
certes.. mais c'est quoi ces " ? asp ou php ? et le html ? et comment on appelle cette fonction ? et si c'est ok : pas de return false, donc peut-être le formulaire, s'il existe, est-il soumis.... un extrait de la page html résultante, qui ne fonctionne pas, c'est possible ?
Cordialement  Bul [ mon Site] [ M'écrire]
|
|
lundi 21 juillet 2008 à 15:50:06 |
Re : Réaction différente de IE à Firefox

lteixeir
|
C'est du VB.NET associé à du code ASP.NET.
Je l'appelle de la façon suivante :
CType(e.Item.FindControl("tbValeur1"), TextBox).Attributes.Add("OnBlur", "verifDateEntier('" & Me.constantName & ViewState.Item("lineNumber") & "_" & "','tbValeur1','" & Lng.RES15s033 & "')")
Pourquoi un e.Item.FindControl(), parce que j'utilise un repeater. Je n'ai pas codé entièrement cette page, je suis juste venue y ajouter les choses nécessaires.
Et voici la fonction entière :
"<script type=""text/javascript"">function affichage(prefix,val,type) {" & vbCrLf & _ "function verifDateEntier(prefix,texte,alerte){" & vbCrLf & _ "var reg2 = /^(([0-2]\d|[3][0-1])[/]([0]\d|[1][0-2])[/]([1][9]|[2][0])\d{2})$|^(([0-2]\d|[3][0-1])[/]([0]\d|[1][0-2])[/]([1][9]|[2][0])\d{2}\s([0-1]\d|[2][0-3])[:][0-5]\d)$|^(([0-2]\d|[3][0-1])[/]([0]\d|[1][0-2])[/]([1][9]|[2][0])\d{2}\s([0-1]\d|[2][0-3])[:][0-5]\d[:][0-5]\d)$/gi; // Date et Heure" & vbCrLf & _ " if ( document.getElementById(prefix + texte).value != '' ){" & vbCrLf & _ " if ( !reg2.test(document.getElementById(prefix + texte).value) ){" & vbCrLf & _ " window.alert(alerte);" & vbCrLf & _ " document.getElementById(prefix + texte).value = '';" & vbCrLf & _ " return false;" & vbCrLf & _ " }" & vbCrLf & _ " }" & vbCrLf & _ "}</script>"
|
|
lundi 21 juillet 2008 à 16:11:33 |
Re : Réaction différente de IE à Firefox

bultez
|
c'est pas possible ?!? vbcrlf et le reste c'est du VB + ASp ! la page html résultante avec le champs dans son formulaire svp !lancer l'application, afficher la source dans le navigateur ou sauver la page html en faire l'extrait nécessaire ! sinon, moi je ne peux rien que supputer, et ce que je ferais va fonctionner ! or, pour toi, ça ne marche pas ! ça ne sert donc à rien que je fasse !
Cordialement  Bul [ mon Site] [ M'écrire]
|
|
lundi 21 juillet 2008 à 16:18:18 |
Re : Réaction différente de IE à Firefox

lteixeir
|
<td class="Contenu1" width="300" valign="middle"> <span id="rptFieldsList__ctl1_lblName">Date d'inscription</span> <span id="rptFieldsList__ctl1_lblType" style="Display:none">1</span> </td>
<td class="Contenu1" width="150" align="center" valign="middle"> <select name="rptFieldsList:_ctl1:dwnOp" id="rptFieldsList__ctl1_dwnOp" class="form" onChange="affichage('rptFieldsList__ctl1_',this.value,1);"> <option value="0">---------- Critère ----------</option> <option value="1">Renseigné</option> <option value="2">Non renseigné</option> <option value="5">inférieur strictement à</option> <option value="6">supérieur strictement à</option> <option selected="selected" value="7">Compris entre</option> <option value="10">il y a</option> <option value="11">dans</option> <option value="12">strictement la date</option> <option value="13">date anniversaire</option> </select> </td>
<td class="Contenu1" width="300" valign="middle"> <span id="rptFieldsList__ctl1_spanVal1" style="DISPLAY:none"> <input name="rptFieldsList:_ctl1:tbValeur1" type="text" value="15/05/2004 15:00:00" maxlength="500" size="50" id="rptFieldsList__ctl1_tbValeur1" class="form" OnBlur="verifDateEntier('rptFieldsList__ctl1_','tbValeur1','Format correct : JJ/MM/AAAA ou JJ/MM/AAAA HH:MM:SS ou JJ/MM/AAAA HH:MM')" /> <span id="rptFieldsList__ctl1_spanVal2" style="DISPLAY:none"> <span id="rptFieldsList__ctl1_lblAnd"> et </span> <input name="rptFieldsList:_ctl1:tbValeur2" type="text" value="23/05/2004" maxlength="500" size="50" id="rptFieldsList__ctl1_tbValeur2" class="form" OnBlur="verifDateEntier('rptFieldsList__ctl1_','tbValeur2','Format correct : JJ/MM/AAAA ou JJ/MM/AAAA HH:MM:SS ou JJ/MM/AAAA HH:MM')" /> </span> </span>
<span id="rptFieldsList__ctl1_spanValDwn" style="DISPLAY:none"> <select name="rptFieldsList:_ctl1:dwnValeur" id="rptFieldsList__ctl1_dwnValeur" class="form"> </select> </span>
ETC...
|
|
lundi 21 juillet 2008 à 16:33:07 |
Re : Réaction différente de IE à Firefox

bultez
|
en simplifiant : <body> <script type="text/javascript"> function verifDateEntier(prefix,texte,alerte) { var reg2 = /^(([0-2]\d|[3][0-1])[/]([0]\d|[1][0-2])[/]([1][9]|[2][0])\d{2})$|^(([0-2]\d|[3][0-1])[/]([0]\d|[1][0-2])[/]([1][9]|[2][0])\d{2}\s([0-1]\d|[2][0-3])[:][0-5]\d)$|^(([0-2]\d|[3][0-1])[/]([0]\d|[1][0-2])[/]([1][9]|[2][0])\d{2}\s([0-1]\d|[2][0-3])[:][0-5]\d[:][0-5]\d)$/gi; if ( document.getElementById(prefix + texte).value != '' ) { if ( !reg2.test(document.getElementById(prefix + texte).value) ) { window.alert(alerte); //document.getElementById(prefix + texte).value = ''; pour les tests
return false; } alert("ok"); // pour les tests return true;
} } </script> <input name="rptFieldsList:_ctl1:tbValeur1" type="text" value="15/05/2004 15:00:00" maxlength="500" size="50" id="rptFieldsList__ctl1_tbValeur1" class="form" OnBlur="verifDateEntier('rptFieldsList__ctl1_','tbValeur1','Format correct : JJ/MM/AAAA ou JJ/MM/AAAA HH:MM:SS ou JJ/MM/AAAA HH:MM')" /> </body> et ça baigne et pour FF, et pour IE.... il n'y a pas de formulaire dans lequel est inclus le champs ? sinon, "l'erreur est ailleurs" mais pas sûr que des " ne manque pas ou ne sont pas en trop... ( j'ai fait manuellement ! puisque tu ne nous donnes pas la fonction résultante ! )
Cordialement  Bul [ mon Site] [ M'écrire]
|
|
lundi 21 juillet 2008 à 17:05:49 |
Re : Réaction différente de IE à Firefox

lteixeir
|
La fonction résultante est : function verifDateEntier(prefix,texte,alerte){ var reg = new RegExp('^([0]?[1-9]|[1|2][0-9]|[3][0|1])[/]([0]?[1-9]|[1][0-2])[/]([0-9]{4}|[0-9]{2})$','gi'); // Que pour la date var reg2 = /^(([0-2]\d|[3][0-1])[/]([0]\d|[1][0-2])[/]([1][9]|[2][0])\d{2})$|^(([0-2]\d|[3][0-1])[/]([0]\d|[1][0-2])[/]([1][9]|[2][0])\d{2}\s([0-1]\d|[2][0-3])[:][0-5]\d)$|^(([0-2]\d|[3][0-1])[/]([0]\d|[1][0-2])[/]([1][9]|[2][0])\d{2}\s([0-1]\d|[2][0-3])[:][0-5]\d[:][0-5]\d)$/gi; // Date et Heure if ( document.getElementById(prefix + texte).value != '' ){ if ( !reg2.test(document.getElementById(prefix + texte).value) ){ window.alert(alerte); document.getElementById(prefix + texte).value = ''; return false; } } }
|
|
mardi 22 juillet 2008 à 12:04:00 |
Re : Réaction différente de IE à Firefox

bultez
|
ben avec la fonction que tu nous donnes, comme celle que j'avais mise.... ben ça baigne IE, FF : on n'a pas ce qu'il faut pour trouver l'erreur ( essaye ci dessous, tu verras ) <body> <script type="text/javascript"> function verifDateEntier(prefix,texte,alerte){ var reg = new RegExp('^([0]?[1-9]|[1|2][0-9]|[3][0|1])[/]([0]?[1-9]|[1][0-2])[/]([0-9]{4}|[0-9]{2})$','gi'); // Que pour la date var reg2 = /^(([0-2]\d|[3][0-1])[/]([0]\d|[1][0-2])[/]([1][9]|[2][0])\d{2})$|^(([0-2]\d|[3][0-1])[/]([0]\d|[1][0-2])[/]([1][9]|[2][0])\d{2}\s([0-1]\d|[2][0-3])[:][0-5]\d)$|^(([0-2]\d|[3][0-1])[/]([0]\d|[1][0-2])[/]([1][9]|[2][0])\d{2}\s([0-1]\d|[2][0-3])[:][0-5]\d[:][0-5]\d)$/gi; // Date et Heure if ( document.getElementById(prefix + texte).value != '' ){ if ( !reg2.test(document.getElementById(prefix + texte).value) ){ window.alert(alerte); //document.getElementById(prefix + texte).value = ''; return false; } else { alert("ok"); return true; } } }</script> <input name="rptFieldsList:_ctl1:tbValeur1" type="text" value="15/05/2004 15:00:00" maxlength="500" size="50" id="rptFieldsList__ctl1_tbValeur1" class="form" OnBlur="verifDateEntier('rptFieldsList__ctl1_','tbValeur1','Format correct : JJ/MM/AAAA ou JJ/MM/AAAA HH:MM:SS ou JJ/MM/AAAA HH:MM')" /> </body>
| en rouge pour voir ce qui se passe...
Cordialement  Bul [ mon Site] [ M'écrire]
|
|
Cette discussion est classée dans : ie, erreur, mm, jj, aaaa
Répondre à ce message
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|