Tout JavaScript.com - Scripts, Tutoriaux, Forums pour webmasters et développeurs
Retour à l'accueil
Rechercher :    

Les indispensables
Magic Menu
Les meilleurs scripts
Les forums
Les tutoriaux
La référence JavaScript
Les actus du net
Les petites annonces

Shopping
Le guide complet
Hébergement web

Les javascripts
Les plus vus
Les mieux notés
La boutique

Les tutoriaux
Introduction javascript
Les formulaires
AJAX / XMLHTTPRequest
Le DHTML
Les expressions régulières
Introduction au PHP
Tous les tutoriaux

Les services
Les questions fréquentes
Les forums | Le chat
L'annuaire de sites
Le livre d'or
Contacts
A propos du site
La newsletter
 Inscription à la newsletter
HTML - Texte

Les partenaires
Beauté-test
Mémoclic
Glandouille.com
Révélateur.com
Foorby, favoris en ligne
Config Mac
jquery
Hébergement gratuit
Conseils pour les paris en ligne
Acheter un Nom de Domaine



Codes promotions, réductions et bons plans pour vos achats en ligne











Connexion :
Login :
Password :
Se souvenir de moi
 S'enregistrer
Menu Forums
Rechercher
Questions Fréquentes
Liste des avatars
Liste des connectés
 
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&ucirc; </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>&nbsp;</td>
<td>Montant d&eacute;ductions TPA</td>
<td><input type="text" name="tpa_deduction" onblur="calcultotal()" /></td>
</tr>
<tr>
<td>&nbsp;</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&eacute;nom du d&eacute;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&eacute;initialiser" onclick="return confirm('Etes-vous sûr de vouloir tout effacer ?');"/>
</p>
<p>&nbsp;</p>
</form>
<p>&nbsp;</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



| © Tout JavaScript.com 1999-2005 | Scripts | Tutoriaux | Forums | Référence | Magic Menu V2 | Mailociraptor | Petites annonces informatiques |


Edité par DevTribu sarl  Google
Serveur dédié btssd : Page générée en 15 msec
08/09/2010 15:51:13 - OB = off