|
|
|
| [javascript] pourquoi pas sous IE ? par txiki |
jeudi 29 mars 2007 à 15:24:25 |
<!-- Vérification des champs obligatoires du formulaire
function verif()
{
var nom = document.formulaire.groupe.value; // liste déroulante
if (document.formulaire.groupe.value == "")
{
alert ('Veuillez entrer le groupe auquel appartient le logiciel');
document.formulaire.groupe.focus();
return false;
}
if(document.formulaire.categorie.value == "") // liste déroulante
{
alert ('Veuillez entrer la catégorie du logiciel');
document.formulaire.categorie.focus();
return false;
}
if(document.formulaire.nom.value == "")
{
alert ('Veuillez entrer le nom du logiciel');
document.formulaire.nom.focus();
return false;
}
if(document.formulaire.reference_DSI.value == "") // liste déroulante
{
alert ('Veuillez entrer la référence DSI');
document.formulaire.reference_DSI.focus();
return false;
}
if(document.formulaire.reference_DSI.value.length != 3)
{
alert ('La référence doit comporter trois caractères');
document.formulaire.reference_DSI.focus();
return false;
}
else {return true;}
}
//-->
Configuration: Windows 2000 Internet Explorer 6.0
J'ai un peu travailler dans le developpement web enfin j'ai fais un stage de 4 mois la dedans à la fin de mon dut. et je me suis rendu compte que firefox respecter bien les normes pour le javascript donc en general on a pas de problème mais IE6... quelle misère c une synthaxe spéciale enfin c pas qu'elle est spéciale c'est qu'elle respecte pas les normes...
Alors ce qu'il te reste a faire c'est faire des test sur le navigateur de l'utilisateur et d'executer un code different pour chaque navigateur... Par contre pour IE7 je ne sais pas ce qu'il en est... Je te souhaite bien du courage la dedans (je me rapelle des vrais prises de tête la dessus ^^) |
|
Re, desolée j'arrive pas a éditer.
Une petite piste poiur t'aider essai de mettre un ID a ta liste deroulante et essai getelementbyid un truc dans ce genre, je me repalle que ça marchait super bien avec IE |
Merci maelo,
Mais l'ajout de l'id ne change rien au PB et c'est malheureusement IE6 qui est utilisé dans ma boite. Misèèèèère ! J'avais utilisé ce système des listes pour uniformiser l'écriture de ces parties. Et j'y connais rien en javascript. BOUUUUUUH !!! ;_((( Le bonheur est la seule chose que l'on peut donner sans l'avoir.
|
il faut chercher IE c'est de la merde c'est tout, c'est enervant a chaque fois il faut faire des modifs pour que ca marche avec IE...
lol Lapinkiller, étudiant en BTS IRIS (informatique et réseaux...) "La fin du monde n'est pas pour demain, elle est arrivée hier" (Lapinkiller) |
enfin ct peut ==0 aussi ^^
ben tu as plus qu'a essayer tout ce que tu peux trouver lapinkiller a raison IE ça supporte pas trop le javascript... |
Pourrais-tu montrer la page problème? C'est pas au niveau du javascript que IE6 bogue, normalement. C'est au css et au html.
Serge. |
Salut Serge_La et merci pour ta réponse,
voici le code complet de la page en question: <?
session_start(); // A placer obligatoirement avant tout code html
$_SESSION['connect']=0; //initialise la variable 'connect'
if (isset($_POST['mot_de_passe']) AND isset($_POST['login'])) // Si les variables existent
{
$mot_de_passe=$_POST['mot_de_passe'];
$login=$_POST['login']; //On récupère les données envoyées par la méthode POST du formulaire d'identification
}
else // Les variables n'existent pas encore
{
$mot_de_passe="";
$login=""; // On crée des variables $mot_de_passe et $login vides
}
if (($mot_de_passe == "******" AND $login == "******") OR ($mot_de_passe == "tinotibet" AND $login == "tintin")OR ($mot_de_passe == "******" AND $login == "******") OR ($mot_de_passe == "******" AND $login == "******"))
// Si le mot de passe et le login sont bons (valable pour 1 utilisateur ou plus). J'ai mis plusieurs identifiants et mots de passe.
{
$_SESSION['connect']=1; // Change la valeur de la variable connect. C'est elle qui nous permettra de savoir s'il y eu identification.
$_SESSION['login']=$login; // Permet de récupérer le login afin de personnaliser la navigation
// On affiche la page cachée.
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>Fiche ajout de logiciel dans la base</title>
<link href="scripts_styles/form.css" rel="stylesheet">
<script language="javascript" src="scripts_styles/verif.js" type="text/javascript"></script>
<script type="text/javascript" language="JavaScript">
// si l'année à deux chiffres entrait les dates après cette année ont considéré le siècle 20.
var NUM_CENTYEAR = 30;
// c'est la commande d'entrée de temps exigée par défaut
var BUL_TIMECOMPONENT = false;
// sont les boutons de défilement d'année exigés par défaut
var BUL_YEARSCROLL = true;
var calendars = [];
var RE_NUM = /^\-?\d+$/;
function calendar1(obj_target) {
// assignation des méthodes
this.gen_date = cal_gen_date1;
this.gen_time = cal_gen_time1;
this.gen_tsmp = cal_gen_tsmp1;
this.prs_date = cal_prs_date1;
this.prs_time = cal_prs_time1;
this.prs_tsmp = cal_prs_tsmp1;
this.popup = cal_popup1;
// validez les paramètres d'entrée
if (!obj_target)
return cal_error("Error calling the calendar: no target control specified");
if (obj_target.value == null)
return cal_error("Error calling the calendar: parameter specified is not valid target control");
this.target = obj_target;
this.time_comp = BUL_TIMECOMPONENT;
this.year_scroll = BUL_YEARSCROLL;
// enregistrer dans les "collections" globales
this.id = calendars.length;
calendars[this.id] = this;
}
function cal_popup1 (str_datetime) {
if (str_datetime) {
this.dt_current = this.prs_tsmp(str_datetime);
}
else {
this.dt_current = this.prs_tsmp(this.target.value);
this.dt_selected = this.dt_current;
}
if (!this.dt_current) return;
var obj_calwindow = window.open(
'calendar.html?datetime=' + this.dt_current.valueOf()+ '&id=' + this.id,
'Calendar', 'width=240,height=200'+
',status=no,resizable=no,top=200,left=200,dependent=yes,alwaysRaised=yes'
);
obj_calwindow.opener = window;
obj_calwindow.focus();
}
// fonction génératrice de timestamp
function cal_gen_tsmp1 (dt_datetime) {
return(this.gen_date(dt_datetime) + ' ' + this.gen_time(dt_datetime));
}
// fonction génératrice de date
function cal_gen_date1 (dt_datetime) {
return (
(dt_datetime.getDate() < 10 ? '0' : '') + dt_datetime.getDate() + "-"
+ (dt_datetime.getMonth() < 9 ? '0' : '') + (dt_datetime.getMonth() + 1) + "-"
+ dt_datetime.getFullYear()
);
}
// fonction génératrice de temps
function cal_gen_time1 (dt_datetime) {
return (
(dt_datetime.getHours() < 10 ? '0' : '') + dt_datetime.getHours() + ":"
+ (dt_datetime.getMinutes() < 10 ? '0' : '') + (dt_datetime.getMinutes()) + ":"
+ (dt_datetime.getSeconds() < 10 ? '0' : '') + (dt_datetime.getSeconds())
);
}
// fonction d'analyse de timestamp
function cal_prs_tsmp1 (str_datetime) {
// si aucun paramètre n'est spécifié, retourner à l'actuel timestamp
if (!str_datetime)
return (new Date());
// si "festin" positif de nombre entier comme millisecondes d'époque
if (RE_NUM.exec(str_datetime))
return new Date(str_datetime);
// donc traiter comme date dans le format de "corde"
var arr_datetime = str_datetime.split(' ');
return this.prs_time(arr_datetime[1], this.prs_date(arr_datetime[0]));
}
// fonction d'analyse de la date
function cal_prs_date1 (str_date) {
var arr_date = str_date.split('-');
if (arr_date.length != 3) return cal_error ("Invalid date format: '" + str_date + "'.\nFormat accepted is dd-mm-yyyy.");
if (!arr_date[0]) return cal_error ("Invalid date format: '" + str_date + "'.\nNo day of month value can be found.");
if (!RE_NUM.exec(arr_date[0])) return cal_error ("Invalid day of month value: '" + arr_date[0] + "'.\nAllowed values are unsigned integers.");
if (!arr_date[1]) return cal_error ("Invalid date format: '" + str_date + "'.\nNo month value can be found.");
if (!RE_NUM.exec(arr_date[1])) return cal_error ("Invalid month value: '" + arr_date[1] + "'.\nAllowed values are unsigned integers.");
if (!arr_date[2]) return cal_error ("Invalid date format: '" + str_date + "'.\nNo year value can be found.");
if (!RE_NUM.exec(arr_date[2])) return cal_error ("Invalid year value: '" + arr_date[2] + "'.\nAllowed values are unsigned integers.");
var dt_date = new Date();
dt_date.setDate(1);
if (arr_date[1] < 1 || arr_date[1] > 12) return cal_error ("Invalid month value: '" + arr_date[1] + "'.\nAllowed range is 01-12.");
dt_date.setMonth(arr_date[1]-1);
if (arr_date[2] < 100) arr_date[2] = Number(arr_date[2]) + (arr_date[2] < NUM_CENTYEAR ? 2000 : 1900);
dt_date.setFullYear(arr_date[2]);
var dt_numdays = new Date(arr_date[2], arr_date[1], 0);
dt_date.setDate(arr_date[0]);
if (dt_date.getMonth() != (arr_date[1]-1)) return cal_error ("Invalid day of month value: '" + arr_date[0] + "'.\nAllowed range is 01-"+dt_numdays.getDate()+".");
return (dt_date)
}
// fonction d'analyse du temps
function cal_prs_time1 (str_time, dt_date) {
if (!dt_date) return null;
var arr_time = String(str_time ? str_time : '').split(':');
if (!arr_time[0]) dt_date.setHours(0);
else if (RE_NUM.exec(arr_time[0]))
if (arr_time[0] < 24) dt_date.setHours(arr_time[0]);
else return cal_error ("Invalid hours value: '" + arr_time[0] + "'.\nAllowed range is 00-23.");
else return cal_error ("Invalid hours value: '" + arr_time[0] + "'.\nAllowed values are unsigned integers.");
if (!arr_time[1]) dt_date.setMinutes(0);
else if (RE_NUM.exec(arr_time[1]))
if (arr_time[1] < 60) dt_date.setMinutes(arr_time[1]);
else return cal_error ("Invalid minutes value: '" + arr_time[1] + "'.\nAllowed range is 00-59.");
else return cal_error ("Invalid minutes value: '" + arr_time[1] + "'.\nAllowed values are unsigned integers.");
if (!arr_time[2]) dt_date.setSeconds(0);
else if (RE_NUM.exec(arr_time[2]))
if (arr_time[2] < 60) dt_date.setSeconds(arr_time[2]);
else return cal_error ("Invalid seconds value: '" + arr_time[2] + "'.\nAllowed range is 00-59.");
else return cal_error ("Invalid seconds value: '" + arr_time[2] + "'.\nAllowed values are unsigned integers.");
dt_date.setMilliseconds(0);
return dt_date;
}
function cal_error (str_message) {
alert (str_message);
return null;
}
</script>
<!-- FIN SCRIPT CALENDRIER -->
</head>
<body>
<h1> Ajout d'un logiciel </h1>
<p align="center"> Les champs marqués <strong class="echec">*</strong> sont obligatoires</p>
<form method="post" name="formulaire" id="formulaire" action="insert.php">
<table width="100%" border="0" align="center" cellpadding="5" cellspacing="1" class="calendar">
<tr>
<td > Veuillez choisir la date en utilisant le calendrier ci-contre: <a href="javascript:cal1.popup();"><img src="img-calendar/cal.gif" width="16" height="16" border="0" alt="Cliquez ici pour obtenir la date." title="Cliquez ici pour obtenir la date."></a> <input type="Text" name="input1" value="" size="20"></td>
</tr>
<script language="JavaScript">
<!-- // créer un objet de calendrier juste après la fermeture d'un "tag de formulaire"
// spécifier l'élément du formulaire comme le seul paramètre (document.forms['nom_du_formulaire'].elements['nom_d'entrée']);
// note : vous pouvez avoir autant d'objets de calendrier dont vous avez besoin pour votre application
// ==============================================================================
// elements.date ou ['date']" est le name du champ du formulaire juste au dessus
var cal1 = new calendar1(document.forms['formulaire'].elements['input1']);
cal1.year_scroll = true;
cal1.time_comp = false;
</script>
</table>
<br>
<table width="100%" border="0" align="center" cellpadding="3" cellspacing="0">
<tr>
<td> Groupe: <strong class="echec">*</strong>
<select name="groupe">// c'est ici que ça foire ! ! !
<option> </option>
<option>métier</option>
<option>management</option>
<option>SI de gestion</option>
<option>poste de travail</option>
</select>
</td>
</tr>
</table>
<table width="100%" border="0" align="center" cellpadding="3" cellspacing="0">
<tr>
<td width="50%"> Catégorie: <strong class="echec">*</strong>// et probablement ici aussi mais ça ne passe pas le premier controle alors ? ? ?
<select name="categorie">
<option> </option>
<option>CFAO</option>
<option>DAO</option>
<option>Logiciel embarqué</option>
<option>Calcul-Simulation</option>
<option>Mesure-Acquisition</option>
<option>Supervision-Pilotage</option>
<option>PAO</option>
<option>Reprographie métier-traceur</option>
<option>Maintenance moteur</option>
<option>Développement informatique</option>
<option>Gestion connaissances</option>
<option>Divers</option>
<option>Informatique décisionnelle</option>
<option>Gestion projet-Planification</option>
<option>Gestion processus</option>
<option>Projet SAP</option>
<option>communication-Bureautique</option>
<option>Sécurité</option>
<option>Composant accès services</option>
<option>Outillage banalisé</option>
<option>Driver périphérique carte</option>
<option>OS système</option>
<option>Infrastructure technique</option>
</select> </td>
<td width="5"> </td>
<td width="50%">Source: <input type="text" name="source" size="30" maxlength="100"></td>
</tr>
<tr>
<td width="50%">Editeur: <input TYPE="text" name="editeur" SIZE="46" maxlength="100"></td>
<td width="5"> </td>
<td width="50%"> Nom: <strong class="echec">*</strong><input TYPE="text" name="nom" SIZE="51" maxlength="255">
</td>
</tr>
<tr>
<td width="50%">Ligne du produit:
<input TYPE="text" name="ligne_produit" SIZE="36" maxlength="100"></td>
<td width="5"> </td>
<td width="50%">Socle: <input TYPE="text" name="socle" SIZE="40"></td>
</tr>
<tr>
<td width="50%">Référence DSI: <strong class="echec">*</strong><select name="reference_DSI">
<option> </option>
<option>cat</option>
<option>ref</option>
<option>éval</option>
<option>rebut</option>
</select>
</td>
<td width="5"> </td>
<td width="50%">Standard DSI: <select name="standard_DSI">
<option> </option>
<option>standard</option>
<option>rebut</option>
</select></td>
</tr>
<tr>
<td width="50%">Type de licence: <select name="type_licence">
<option> </option>
<option>monoposte</option>
<option>monoposte à jeton</option>
<option>monoposte dongle</option>
<option>monoposte + clé matérielle</option>
<option>monoposte + clé logicielle</option>
<option>réseau</option>
<option>licence flottante</option>
<option>licence flottante et monoposte</option>
<option>client lourd</option>
<option>client serveur</option>
<option>clé matérielle</option>
<option>accès unix</option>
<option>développement spécifique TM</option>
<option>licence site</option>
<option>client citrix</option>
<option>aucune</option>
</select></td>
<td width="5"> </td>
<td width="50%">Version standard: <input TYPE="text" name="version_standard" SIZE="20" maxlength="150"></td>
</tr>
<tr>
<td width="50%">Compatibilité XP: <select name="compatibilite_XP">
<option> </option>
<option>oui</option>
<option>non</option>
<option>oui pour version 2006</option>
<option>?</option>
<option>? pour 4.3 oui pour 5.0</option>
<option>IE 5.5 sp1</option>
<option>Office 2000, 2002, 2003</option>
</select></td>
<td width="5"> </td>
<td width="50%">Versions en exploitation: <input TYPE="text" name="versions_exploitation" SIZE="20"></td>
</tr>
<tr>
<td width="50%">Type de déploiement: <select name="type_deploiement">
<option> </option>
<option> serveur/script</option>
<option>serveur/script + CD</option>
<option>serveur/procédure</option>
<option>manuelle</option>
<option>CD</option>
<option>?</option>
<option>logon script</option>
<option>logon script + disque S</option>
<option>FTP</option>
<option>téléchargée</option>
<option>en cours</option>
</select></td>
<td width="5"> </td>
<td width="50%">Type d'installation: <select name="type_installation">
<option> </option>
<option>locale</option>
<option>réseau</option>
<option>client</option>
<option>serveur</option>
<option>non</option>
</select></td>
</tr>
<tr>
<td width="50%">Domaine: <select name="domaine">
<option> </option>
<option>CFAO</option>
<option>DAO</option>
<option>PAO</option>
<option>Calul/Simulation</option>
<option>Logiciel embarqué</option>
<option>Mesure/Acquisition</option>
<option>Supervision/Pilotage</option>
<option>Reprographie</option>
<option>Maintenance moteur</option>
<option>Développement informatique</option>
<option>Gestion des connaissances</option>
<option>Informatique décisionnelle</option>
<option>Gestion de projet</option>
<option>Planification</option>
<option>Modélisation processus</option>
<option>SI de gestion</option>
<option>Accompagnement au changement</option>
<option>Projet SI</option>
<option>Communication/Bureautique</option>
<option>Sécurité</option>
<option>COmposant d'accès à un service</option>
<option>Composant java sur le poste</option>
<option>Outillage banalisé</option>
<option>Driver, périphérique, exploitation périphérique </option>
<option>OS</option>
<option>Outil système</option>
<option>Infrastructure technique</option>
</select></td>
<td width="5"> </td>
<td width="50%"><table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td> </td>
<td rowspan="3"><textarea name="fonctionnalite" cols="35" rows="1" wrap="PHYSICAL"></textarea></td>
</tr>
<tr>
<td>Fonctionnalité: </td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="50%"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td> </td>
<td rowspan="3"><textarea name="description" cols="35" rows="1" wrap="PHYSICAL"></textarea></td>
</tr>
<tr>
<td>Description: </td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</td>
<td width="5"> </td>
<td width="50%"><table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td> </td>
<td rowspan="3"><textarea name="instructions" cols="35" rows="1" wrap="PHYSICAL"></textarea></td>
</tr>
<tr>
<td>Instructions: </td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="50%"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td> </td>
<td rowspan="3"><textarea name="pre_requis" cols="35" rows="1" wrap="PHYSICAL"></textarea></td>
</tr>
<tr>
<td>Pré-requis: </td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</td>
<td width="5"> </td>
<td width="50%">Référent métier: <input TYPE="text" name="referent_metier" SIZE="36" maxlength="255"></td>
</tr>
</table>
<table width="100%" border="0" align="center" cellpadding="3" cellspacing="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td> </td>
<td rowspan="3"><textarea name="commentaires" cols="85" rows="2" wrap="PHYSICAL"></textarea></td>
</tr>
<tr>
<td>Commentaires:</td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</td>
</tr>
</table>
<table width="80%" border="0" align="center" cellpadding="4" cellspacing="0">
<tr>
<td align="center"><input type="submit" name="submit" value="Ajouter la fiche dans la base" onClick="javascript: return verif();"></td>
</tr>
</table>
</table>
</form>
<br />
<table width="60%" border="0" align="center" cellpadding="4" cellspacing="0">
<tr>
<td colspan="3" align="center"><a href="index.php"><img src="boutons-catalogue/accueil.png" alt="Retour à la page d'accueil" width="62" height="21" border="0"></a> <a href="liste.php"><img src="boutons-catalogue/afficher-catalogue.png" alt="Afficher la liste des logiciels du catalogue" width="139" height="21" border="0"></a> <a href="fiche_ajout.php"><img src="boutons-catalogue/ajouter.png" alt="Ajouter un logiciel au catalogue" width="116" height="21" border="0"></a> <a href="rechercher.php"><img src="boutons-catalogue/chercher-fiche.png" alt="Chercher un logiciel dans le catalogue" width="128" height="21" border="0"></a> <a href="javascript:history.go(-1)"><img src="boutons-catalogue/retour.png" alt="Retour à la page précédente" width="58" height="21" border="0"></a></td>
</tr>
<tr>
<td align="center" width="35%"> </td>
<td align="center" bgcolor="#E5E5E5" width="30%">
<?
echo "Mis à jour le: ";
echo date("d - m - Y");
?>
</td>
<td align="center" width="35%"> </td>
</tr>
</table>
<p> </p>
</body>
</html>
<?
}
else // le mot de passe n'est pas bon
{
// On affiche la zone de texte pour rentrer le mot de passe.
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title> Page protégée par mot de passe </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="scripts_styles/form.css" rel="stylesheet">
</head>
<body>
<p> </p>
<h1 align="center"> Cette page est réservée aux administrateurs uniquement ! </h1>
<h3 align="center" class="echec"> Veuillez entrer le login et mot de passe : </h3>
<table width="300px"><tr>
<form action="fiche_ajout.php" method="post">
<p align="center"><input type="text" name="login" /></p>
<p align="center"><input type="password" name="mot_de_passe" /></p>
<p align="center"><input type="submit" value="Valider" /></p>
</form>
</tr></table>
</body>
</html>
<?
} // Fin du else
// Fin du code :)
?>
NOTE: le script qui affiche le calendrier, je n'ai pas su le mettre à part, fichier séparé, parcequ'il faudrait lui indiquer l'url des images etc... mais je ne voit pas dans le script, ces chemins. ça ne fonctionne pas si c'est un fichier séparé et pourtant c'est un super truc, ce système de calendrier. Voilà, si tu vois l'erreur, je serais diablement soulagé (d'autant plus que c'est pour le boulot). Ils attendent après ça et suis sous pression ! ! ! :-(((( Merci infiniment ! J'oubliais ! tu peux le voir sur: http://txiki.free.fr Le bonheur est la seule chose que l'on peut donner sans l'avoir. |
Bonjour Txiki,
J'ai un IE6 sur windows2000 ici. Je suis allé sur ta page mais je ne peux pas loguer. Le mot de passe tintin avec utilisateur tinotibet refuse l'entrée. Sans ça je ne peux pas voir la page qui bogue. J'ai quand même isolé le html et essayé en local, ta page problème. Je ne vois de différence ici (sauf des ajustements mineurs css à faire). Le code qui enrobe ton code html n'est pas javascript. Semble être du perl, que je connais aussi. Décrit-moi le problème exactement et donnes-moi un mot de passe valide avec nom d'utilisateur pour que je puisse voir ton problème sur le vif. Serge. |
Salut Serge et merci pour ta réponse,
C'est très étrange pour le login et le pass (je viens encore de le vérifier sur le serveur de free) ? ? ? ? essaie avec: login: txiki pass: txikito Tu a bien cliqué sur Ajouter une fiche ? "Le code qui enrobe ton code html n'est pas javascript. Semble être du perl," <script type="text/javascript" language="JavaScript"> // si l'année à deux chiffres entrait les dates après cette année ont considéré le siècle 20. var NUM_CENTYEAR = 30; // c'est la commande d'entrée de temps exigée par défaut var BUL_TIMECOMPONENT = false; // sont les boutons de défilement d'année exigés par défaut var BUL_YEARSCROLL = true;......... Tu veux parler de cette partie ? Je ne connais rien au perl, mais alors absolument rien ! Mon problème: Sous IE: lorsque je clique sur "Ajouter la fiche dans la base" dans le formulaire sans avoir précisé le groupe et la catégorie (champs obligatoires mais surtout de type liste car en type text classique ça fonctionne (?)..) le controlejavascript me demande renseigner le groupe. Donc je choisi un groupe et je reclique sur le bouton Ajouter une fiche dans la base. Mais il me redemande de choisir le groupe ???? Alors qu'il a été choisi. Sous Firefox et XP (chez moi), ça fonctionne très bien ! Si tu maitrise le perl (si toutefois c'est du perl) pourrais-tu me préciser où je dois modifier les paramètres suivants: les répertoire des images du calendrier (img-calendar à la racine dans mon arbo du site) la page calendar.html à la racine du site. C'est pour éviter que le script soit dans la page elle même. J'avais bien essayé mais ça ne fonctionnait pas (comme quand on fait: " <script language="javascript" src="scripts_styles/verif.js" type="text/javascript"></script>" Cette page est vraiment très importante et il faut absolument qu'elle soit opérationnelle dans très peu de temps ! :-((( Merci encore pour ton attention dévouée ! Le bonheur est la seule chose que l'on peut donner sans l'avoir. |
Oups ! désolé ! laisse tomber la l'histoire du calendrier. J'ai trouvé (oubli d'une partie du code dans la page du formulaire.
Autant pour moi ! Désolé. Le bonheur est la seule chose que l'on peut donner sans l'avoir. |
Bonsoir txiki,
Je crois avoir trouvé le problème. IE ne comprends pas l'appel d'un élément sans passer par "all". Comme dans document.all.monelement. Alors, pour IE, soit tu changes ça ou tu changes les codes pour qu'ils soient plus universels (dans ta fonction verif() ) . i.e. avec DOM javascript. Solution 1: Donc, soit tu fais cette passe-passe: <!-- Vérification des champs obligatoires du formulaire function verif() { if (document.all) document=document.all var nom = document.formulaire.groupe.value; // liste déroulante if (document.formulaire.groupe.value == "") etc... Solution 2: Soit tu utilise le DOM (mais alors les très vieux fureteurs flanchent), avec getElementById('formulaire'): <!-- Vérification des champs obligatoires du formulaire function verif() { if (!document.getElementById) {alert ('Votre fureteur ne supporte pas le DOM'); return false; } var nom = document.getElementById('formulaire').groupe.value; // liste déroulante if (document.getElementById('formulaire').groupe.value == "") etc... N'oublies pas de remplacer le reste du code. Voilà. Alors si c'est ça, tu me dois la vie? :) Tiens-moi au courant. Serge. |