Codes promotions, réductions et bons plans pour vos achats en ligne
Tous les forums > JavaScript > problème de compatibilité d'un code avec internet explorer 41 réponses - Page : Précédent 1 2 3 problème de compatibilité d'un code avec internet explorer typo - 28/01/10 16:37 Profil
mais.....
Cela veut dire que c'est pas bon ?
Repostez tout, VOTRE page formulaire et VOTRE js
patheo - 28/01/10 17:15 Profil ce n'est pas que ce n'est pas bon!! vous avez fait un boulot remarquable. j'ai peut être une erreur dans mon code à moi. je vous envoie le tout.
le js:
function surligne(champ, erreur)//fonction permettant de donner une couleur aux champs dont les contenus sont erronnés
{
if(erreur)
champ.style.backgroundColor ="#eed0d4";
else
champ.style.backgroundColor = "#ffffff";
}
function verifNbre(champ)// fonction permettant de vérifier la saisie des nombres
{
//les milliers
regex = / /g;
champ.value = champ.value.replace(regex, "");
nValue = champ.value;
regex = /(-?[0-9]+)([0-9]{3})/;
sep = " ";
while ( regex.test(nValue) ) {
nValue = nValue.replace(regex, '$1'+sep+'$2');
}
champ.value = nValue;
// le background
regex = /^[0-9 ]+[0-9]{0,2}[0-9]$/;
if ( !regex.test(champ.value) ) surligne(champ, 'pasbon');
else {
surligne(champ);
return true;
}
}
function calcultotal()
{
tpa_base8pc=document.tpa.tpa_base8pc.value.replace(/ /g, "");
tpa_base4pc=document.tpa.tpa_base4pc.value.replace(/ /g, "");
tpa_deduction=document.tpa.tpa_deduction.value.replace(/ /g, "");
document.tpa.tpa_due8pc.value=Math.round( (tpa_base8pc*0.08) );
document.tpa.tpa_due4pc.value=Math.round( (tpa_base4pc*0.04) );
document.tpa.tpa_totaldue.value=Math.round( (tpa_base8pc*0.08)+(tpa_base4pc*0.04)-(tpa_deduction) );
lesChiffres=["tpa_base8pc","tpa_base4pc","tpa_deduction","tpa_due8pc","tpa_due4pc","tpa_totaldue"];
for( i=0; i<lesChiffres.length; i++)
{
champ = document.forms["tpa"].elements[lesChiffres[i]];
verifNbre(champ);
}
}
formulaire:
<form id="form" name="tpa" method="post" action="insertiontpa.php" onsubmit="return verifForm(this)">
<strong>I. PERIODE</strong> Mois
<select name="tpa_mois" onblur="verifOption(this)">
<option></option>
<option <?php if (date('m')==1) echo "selected=\"selected\""; ?>>01</option>
<option <?php if (date('m')==2) echo "selected=\"selected\""; ?>>02</option>
<option <?php if (date('m')==3) echo "selected=\"selected\""; ?>>03</option>
<option <?php if (date('m')==4) echo "selected=\"selected\""; ?>>04</option>
<option <?php if (date('m')==5) echo "selected=\"selected\""; ?>>05</option>
<option <?php if (date('m')==6) echo "selected=\"selected\""; ?>>06</option>
<option <?php if (date('m')==7) echo "selected=\"selected\""; ?>>07</option>
<option <?php if (date('m')==8) echo "selected=\"selected\""; ?>>08</option>
<option <?php if (date('m')==9) echo "selected=\"selected\""; ?>>09</option>
<option <?php if (date('m')==10) echo "selected=\"selected\""; ?>>10</option>
<option <?php if (date('m')==11) echo "selected=\"selected\""; ?>>11</option>
<option <?php if (date('m')==12) echo "selected=\"selected\""; ?>>12</option>
</select>
Semestre
<select name="tpa_sem" onblur="verifOption(this)">
<option></option>
<option <?php if ( ((int)floor(date('m') / 6.1) + 1 ) == 1) echo "selected=\"selected\""; ?>>01</option>
<option <?php if ( ((int)floor(date('m') / 6.1) + 1 ) == 2) echo "selected=\"selected\""; ?>>02</option>
</select>
Année
<select name="tpa_annee" onblur="verifOption(this)">
<option></option>
<option <?php if (date('Y')==2009) echo "selected=\"selected\""; ?>>2009</option>
<option <?php if (date('Y')==2010) echo "selected=\"selected\""; ?>>2010</option>
<option <?php if (date('Y')==2011) echo "selected=\"selected\""; ?>>2011</option>
<option <?php if (date('Y')==2012) echo "selected=\"selected\""; ?>>2012</option>
<option <?php if (date('Y')==2013) echo "selected=\"selected\""; ?>>2013</option>
<option <?php if (date('Y')==2014) echo "selected=\"selected\""; ?>>2014</option>
<option <?php if (date('Y')==2015) echo "selected=\"selected\""; ?>>2015</option>
<option <?php if (date('Y')==2016) echo "selected=\"selected\""; ?>>2016</option>
<option <?php if (date('Y')==2017) echo "selected=\"selected\""; ?>>2017</option>
<option <?php if (date('Y')==2018) echo "selected=\"selected\""; ?>>2018</option>
<option <?php if (date('Y')==2019) echo "selected=\"selected\""; ?>>2019</option>
<option <?php if (date('Y')==2020) echo "selected=\"selected\""; ?>>2020</option>
<option <?php if (date('Y')==2021) echo "selected=\"selected\""; ?>>2021</option>
<option <?php if (date('Y')==2022) echo "selected=\"selected\""; ?>>2022</option>
</select>
<table width="530" border="0">
<tr>
<td width="189"><div align="center"><strong>Montant base </strong></div></td>
<td width="171"><div align="center"><strong>Taux</strong></div></td>
<td width="148"><div align="center"><strong>Montant dû </strong></div></td>
</tr>
<tr>
<td><label>
<input size="30" type="text" name="tpa_base8pc" onblur="calcultotal()" />
</label></td>
<td><label>
<div align="center">8%</div>
</label></td>
<td><input type="text" name="tpa_due8pc" readonly="readonly"/> </td>
</tr>
<tr>
<td><label>
<input size="30"type="text" name="tpa_base4pc" onblur="calcultotal()" />
</label></td>
<td><label>
<div align="center">4%
</div>
</label></td>
<td><input type="text" name="tpa_due4pc" readonly="readonly"/></td>
</tr>
<tr>
<td> </td>
<td>Montant déductions TPA</td>
<td><input type="text" name="tpa_deduction" onblur="calcultotal()" /></td>
</tr>
<tr>
<td> </td>
<td>Total </td>
<td><input type="text" name="tpa_totaldue" readonly="readonly"/></td>
</tr>
</table>
<p>
<label></label>
A
<label>
<input size="30" type="text" name="lieu" onblur="verifLieu(this)"/>
</label>
, le
<label>
<input name="tpa_datesaisie" type="date" readonly="readonly" value="<?php echo date("d/ m/ Y"); ?>" />
</label>
</p>
<p>
<label>Nom et Prénom du déclarant
<input size="50" type="text" name="tpa_usersaisie" onblur="verifUser(this)"/>
</label>
</p>
<p>
<label></label>
<input type="submit" name="Submit3" value="Enregistrer" />
<input type="reset" name="Submit2" value="Réinitialiser" onclick="return confirm('Etes-vous sûr de vouloir tout effacer ?');"/>
</p>
<p> </p>
</form>
<p> </p>
</body>
</html>
patheo - 28/01/10 17:16 Profil j'ai modifier les noms mais j'en ai tenu compte dans le code typo - 28/01/10 17:45 Profil
Ces deux derniers codes envoyés, tels qu'ils sont, fonctionnent.
"j'ai peut être une erreur dans mon code à moi. je vous envoie le tout"
Il n'y a pas tout, où sont "verifOption", "verifLieu", "verifUser" ?
Dans un autre fichier ?
Dans le "head", faites-vous appel aux bons fichiers, ou, tout bêtement, les fonctions ne sont-elles pas dans deux fichiers appelés ?
patheo - 28/01/10 17:57 Profil j'ai un autre fichier dans lequel se trouvent VerifOption, VerifLieu et VerifUser. je fais appel aux bons fichiers. voici les lignes d'appel
<script type="text/javascript" src="calcul.js"></script>
<script type="text/javascript" src="verificationtpa.js"></script>
le code que je vous ai envoyé plus haut est dans calcul.js les autres sont dans verificationtpa.js
que voici:
function surligne(champ, erreur)//fonction permettant de donner une couleur aux champs dont les contenus sont erronnés
{
if(erreur)
champ.style.backgroundColor ="#eed0d4";
else
champ.style.backgroundColor = "#ffffff";
}
function verifOption(champ) //fonction qui verifie le contenu des listes de choix
{
leChamp=document.forms["tpa"].elements[champ.name].options[document.forms["tpa"].elements[champ.name].selectedIndex].text;
if(leChamp=="") {
surligne(champ, 'pasbon');
} else {
surligne(champ);
return true;
}
}
function verifLieu(champ)// fonction pour vérifier la saisie des chaines de caractère. ici le champ lieu de déclaration en particulier
{
regex = /^[a-zA-Z0-9àâäéèêëïîöôùûüç_-]{2,20}$/;
if ( !regex.test(champ.value) ) {
surligne(champ, true);
return false;
} else {
surligne(champ, false);
return true;
}
}
function verifUser(champ)// fonction pour vérifier la saisie des chaines de caractère. ici le champ déclararant en particulier
{
regex = /^[a-zA-Z0-9àâäéèêëïîöôùûüç_-]{2,20}$/;
if ( !regex.test(champ.value) ) {
surligne(champ, true);
return false;
} else {
surligne(champ, false);
return true;
}
}
typo - 28/01/10 18:33 Profil
Dans votre "form" vous faites appel à "verifForm"
<form id="form" name="tpa" method="post" action="insertiontpa.php" onsubmit="return verifForm(this)">
Qu'y a-t-il dedans ?
patheo - 28/01/10 18:44 Profil je me suis loupé dans ma copie coller c'est la suite de verificationtpa.js
function verifForm(tpa)// fonction de vérification globale de l'envoie du formulaire
{
moisOk = verifOption(tpa.tpa_mois);
semestreOk = verifOption(tpa.tpa_sem);
anneeOk = verifOption(tpa.tpa_annee);
base8pcOk = verifNbre(tpa.tpa_base8pc);
base4pcOk = verifNbre(tpa.tpa_base4pc);
deductionOk = verifNbre(tpa.tpa_deduction);
lieuOk = verifLieu(tpa.lieu);
userOk = verifUser(tpa.tpa_usersaisie);
if( (!moisOk&&semestreOk||!semestreOk&&moisOk)&&anneeOk&&base8pcOk&&base4pcOk&&deductionOk&&lieuOk&&userOk)
return true;
else
{
alert("veuillez remplir tous les champs.");
return false;
}
}
typo - 28/01/10 19:07 Profil
J'ai retesté avec VOS CODES, trois fichiers, une page et deux js "calcul" et "verificationtpa"
Sur IE, Firefox, Netscape, Safari, Opera, Chrome, tout est bon.
Je n'ai JAMAIS de décimales.
De toute façon, c'est bien le but de "Math.round", il renvoie un arrondi.
Je ne comprends pas pourquoi avec vous cela ne fonctionne pas.
Peut-être avez-vous plusieurs répertoires de tests ?
Ou bien est-ce un problème de cache, mais cela m'étonnerait !
Le testez-vous en local, en ligne ?
Je ne vois plus quoi vous dire.
Vérifiez tous vos chemins, tenez-moi au courant.
patheo - 28/01/10 19:13 Profil je le test en local avec easyphp.
bon ben je vous suis très reconnaissant pour tout le temps passé à m'apporter votre assistance. merci pour votre patience et la promptitude. je vais revoir tout mon code tranquillement. mais au moins tous les fichiers que je vous ai envoyés ils sont bons? oubien ya t-il eu des modifications que vous avez apporté? merci encore et a+ typo - 28/01/10 19:17 Profil
Non, je n'ai pas apporté de modifications à ce que vous envoyé aujourd'hui.
J'ai retesté avec VOS CODES, trois fichiers, une page et deux js "calcul" et "verificationtpa"
patheo - 28/01/10 19:22 Profil ok je vais donc me revoir le tout chez moi ca doit être chez moi quelque chose ne va pas bien patheo - 01/02/10 16:01 Profil salut typo! j'ai repris le code dans un autre fichier et plus de problème. merci
41 réponses - Page : Précédent 1 2 3
Tous les forums > JavaScript > problème de compatibilité d'un code avec internet explorer