La fonction SPLIT (string) ne fonctionne pas sur MAC
darb66
Messages postés36Date d'inscriptionlundi 28 juillet 2003StatutMembreDernière intervention23 juin 2008
-
27 juil. 2006 à 15:10
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
28 juil. 2006 à 05:52
Hello,
Je developpe une petite fonctionnalite en utilisant la fonction split(string, char) pour pouvoir formater un texte et l'afficher avec la fonction confirm(string, param). Ca fonctionne tres bien sur Windows (Internet Explorer et FireFox), mais il semblerait que la fonction split ne soit pas compatible avec Mac, du moins sur IE...
Est-ce que quelqu'un aurait une solution pour contourner ce probleme ? Je sais deja que certain me repondrons de n'utiliser que FF ... N'y aurait-il pas d'autres methodes ?
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 27 juil. 2006 à 15:39
bonjour,
faire ça "à la main".
( s'il est vrai que ça ne fonctionne pas sous Mac ! )
: une boucle avec indexOf et substr
et pour ceux qui diraient d'utiliser FF, répond leur
que tu va leur envoyer le mail des 80% personnes qui
se connectent sur ton site pour qu'ils puissent les
convaincre de changer de navigateur.
déjà avec moi, ce sera un refus.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 27 juil. 2006 à 16:19
tiens...
j'ai fait un ch'tit exemple,
( pas testé à fond, sûrement à fignoler,optimiser... )
séparateur quelconque ( plusieurs caractères possibles )
ici mis ;
<script type="text/javascript">
function Eclate(zone,separ)
{
var debut=0;
var indice=0;
var retour=new Array;
var tmp=zone;
if (tmp.substr(tmp.length)!=separ)
{
tmp+=separ;
}
var fin=tmp.indexOf(separ,0);
while ( fin>0 )
{
retour[indice]=tmp.substr(debut,fin-debut);
debut=fin+separ.length;
indice++;
fin=tmp.indexOf(separ,debut);
}
return retour;
}
// exemple d'utilisation
var euh=Eclate("a;bb;ccc;dddd",";")
alert ( euh.length );
for ( var n=0;n<euh.length;n++ )
{
alert( n+" = "+euh[n]);
}
</script>
darb66
Messages postés36Date d'inscriptionlundi 28 juillet 2003StatutMembreDernière intervention23 juin 2008 27 juil. 2006 à 18:48
Hello,
Merci pour cette fonction... Ca marche parfaitement bien! Probleme suivant: la methode confirm() ne fonctionne pas de la meme maniere sur Mac IE, a savoir le message a afficher est remplace par 'NO'... Si tu as une idee...
fd
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 28 juil. 2006 à 05:52
>>Ca marche parfaitement
pas d'accord :
il faut mettre if (tmp.substr(tmp.length-separ.length)!=separ)
avec une question existencielle, si le champ de départ
se termine par un séparateur, c'est pour finir le dernier
champ ou parce que le dernier champ est vide ?
je m'explique :
a;bb; doit donner [0]=a [1]=bb
ou [0]=a [1]=bb [2]=rien
tel que c'est fait ici, c'est la 1ère réponse,
qui peut ne pas convenir.
>> le message a afficher est remplace par 'NO'
pas compris le problème.