Probleme IE / FIREFOX

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 : Probleme IE / FIREFOX

par Dexion » 22 mars 2007, 10:49

Bon bah en faite c'étais une erreur a la *bip*

a cause de :

Code : Tout sélectionner

<input type="text" name="date_arrivee" size="10" readonly="readonly" />
IE à l'air de comprendre le getElementById alors que pour FF.

il faller rajouter :

Code : Tout sélectionner

<input type="text" name="date_arrivee" size="10" readonly="readonly" id="date_arrivee" />
Voilou et du coup tous marchouille bien :)

par Dexion » 21 mars 2007, 17:01

Merci de m'aider :wink:

Mais sa ne résoud pas mon probleme, je peux te montrer les debug qu'il affiche si sa peux t'aider :

Code : Tout sélectionner

//Débug alert ("D_Today=" + D_Today + "\nD_Date=" + D_Date + "\nDiff=" + diff);
Il affiche :
D_Today=Wed Mar 21 15:55:13 UTC+0100 2007
D_Date=NaN
Diff=NaN

Code : Tout sélectionner

//Débug alert ("D_Date=" + D_Date);
Il affiche :
D_Date=NaN

Code : Tout sélectionner

else alert ("Ok"); //Débug
Il affiche :
Ok

( sa c'est si je ne remplis rien dans mon champ, si je le remplis j'ai bien l'affichage des deux dates, de la différence etc... )

Par contre sous FF, toujours le même problème, si je n'ai rien entrer dans mon champs date il valide quand meme le formulaire

Meme avec un :

Code : Tout sélectionner

if (document.form.date_arrivee.value == "") { alert("Veuillez choisir un date !"); return false; }
Donc je vois vraiment pas :(

par sadeq » 21 mars 2007, 15:27

D'abord je n'ai pas une vue claire de l'objectif de ta verif car tu n'a pas expliqué la règle de validation.

Mais, je peux dire que même IE ne peut comprendre le "getDate(...)" que tu utilise comme convertisseur de dates.

Ecrite toute seule "getDate" est interprétée comme une fonction du langage alors que c'est une méthode de la classe Date qui retourne simplement le jour (numérique) de la date.
Pour convertir une valeur de date en un objet date, il faut instancier la classe Date([valeurIniDate]) en lui passant la valeur initiale d'une date.

Exemple: var ma_date = new Date("03/21/2007") pour créer un objet date ayant comme valeur initiale le 21 mars 2007.

NB. le format de la date doit être mois/jour/année

Voici une reprise de ton code, qui, pour moi, décide si une date saisie, au format mm/jj/aaaa, est refusée quand elle n'est pas supérieure de 5 jours à la date d'aujourd'hui.

Ce qui veut dire que :
si (date_arrivee - date aujourd'hui) <= 5 alors date refusée

Code : Tout sélectionner

<script> function verif() { // Delai en millisecondes var DelaiMini = 5*(24*60*60)*1000; //variable non utilisée dans ce cas //-- Recup est init date arrivee var szDate = document.getElementById('date_arrivee').value; //Convertir la date saisie en objet Date var D_Date = new Date(szDate); //Obtenir la date d'aujourd'hui var D_Today = new Date(); //Différence var diff = (D_Date - D_Today)/(24*(60*60)*1000); //Débug //alert ("D_Today=" + D_Today + "\nD_Date=" + D_Date + "\nDiff=" + diff); D_Date.setDate(D_Date.getDate()-4); //je ne sais pas pourquoi tu retires 4 jours de la date saisie //Débug //alert ("D_Date=" + D_Date); //-- Test sur delai if(diff <=5) //la date saisie doit être > de 5 jours à aujourd'hui { alert( "Date incorrect ou delai non respecté"); return false; } //else alert ("Ok"); //Débug } </script> <input id="date_arrivee">(mm/jj/aaaa) <input type="button" value="ok" onClick="verif();">
Note: Ce qui est marqué //Débug sert simplement pour tester le programme. Pour effectuer le test enlever les // au début de la ligne

par Dexion » 21 mars 2007, 15:11

Bah en faite il y a aucune erreurs...

Il valide mon formulaire alors qu'il y a encore des controles à faire derière sur des autres champs

par momox » 21 mars 2007, 14:16

Quelle est l'erreur affichée dans la console d'erreur javascript ?

Probleme IE / FIREFOX

par Dexion » 21 mars 2007, 11:37

Bonjour,

J'ai un probleme avec un contrôle de mon formulaire, celui ci marche parfaitement sous IE mais absolument pas sous FireFox,

Code : Tout sélectionner

// Delai en millisecondes var DelaiMini = 5*(24*60*60)*1000; //-- Recup est init date arrivee var szDate = document.getElementById('date_arrivee').value; var D_Today = new Date(); var D_Date = getDate(szDate); var diff = (D_Date - D_Today)/(24*(60*60)*1000); D_Date.setDate( D_Date.getDate()-4); //-- Test sur delai if(diff <=5) { alert( "Date incorrect ou delai non respecté"); return false; }
Si quelqu'un aurais une idée du problème ! Merci d'avance :wink: