Javascript pb explorer/firefox

Fermé
prosciuto145 Messages postés 92 Date d'inscription dimanche 6 mai 2007 Statut Membre Dernière intervention 7 septembre 2009 - 19 juil. 2008 à 14:29
prosciuto145 Messages postés 92 Date d'inscription dimanche 6 mai 2007 Statut Membre Dernière intervention 7 septembre 2009 - 22 juil. 2008 à 10:10
Bonjour,
j'ai un probleme avec explorer, je ne comprend pas pourquoi mon code fonctionne sous firefox et pas sous explorer, pouvez vous m'aider ?

Cette fonction change un texte normal en texte écrit avec des touches de portables et inversement.
<script type="text/JavaScript" >
function transform_mob_to_text(){
	var text;
	var resultat = new Array();
	text = document.getElementById("textarea").value;
	document.getElementById("aaa").innerHTML = '<H1 style="color:blue;width:100%;">' + document.getElementById("textarea").value + '</H1>';
	document.getElementById("textarea").value = '';
	resultat = text.split(".");
	for (i=0;i<resultat.length;i++){
		if (resultat[i] == '2'){
			document.getElementById("textarea").value += 'a';
		}
		if (resultat[i] == '22'){
			document.getElementById("textarea").value += 'b';
		}
		if (resultat[i] == '222'){
			document.getElementById("textarea").value += 'c';
		}
		if (resultat[i] == '3'){
			document.getElementById("textarea").value += 'd';
		}
		if (resultat[i] == '33'){
			document.getElementById("textarea").value += 'e';
		}
		if (resultat[i] == '333'){
			document.getElementById("textarea").value += 'f';
		}
		if (resultat[i] == '4'){
			document.getElementById("textarea").value += 'g';
		}
		if (resultat[i] == '44'){
			document.getElementById("textarea").value += 'h';
		}
		if (resultat[i] == '444'){
			document.getElementById("textarea").value += 'i';
		}
		if (resultat[i] == '5'){
			document.getElementById("textarea").value += 'j';
		}
		if (resultat[i] == '55'){
			document.getElementById("textarea").value += 'k';
		}
		if (resultat[i] == '555'){
			document.getElementById("textarea").value += 'l';
		}
		if (resultat[i] == '6'){
			document.getElementById("textarea").value += 'm';
		}
		if (resultat[i] == '66'){
			document.getElementById("textarea").value += 'n';
		}
		if (resultat[i] == '666'){
			document.getElementById("textarea").value += 'o';
		}
		if (resultat[i] == '7'){
			document.getElementById("textarea").value += 'p';
		}
		if (resultat[i] == '77'){
			document.getElementById("textarea").value += 'q';
		}
		if (resultat[i] == '777'){
			document.getElementById("textarea").value += 'r';
		}
		if (resultat[i] == '7777'){
			document.getElementById("textarea").value += 's';
		}
		if (resultat[i] == '8'){
			document.getElementById("textarea").value += 't';
		}
		if (resultat[i] == '88'){
			document.getElementById("textarea").value += 'u';
		}
		if (resultat[i] == '888'){
			document.getElementById("textarea").value += 'v';
		}
		if (resultat[i] == '9'){
			document.getElementById("textarea").value += 'w';
		}
		if (resultat[i] == '99'){
			document.getElementById("textarea").value += 'x';
		}
		if (resultat[i] == '999'){
			document.getElementById("textarea").value += 'y';
		}
		if (resultat[i] == '9999'){
			document.getElementById("textarea").value += 'z';
		}
		if (resultat[i] == '0'){
			document.getElementById("textarea").value += ' ';
		}
	}
	document.getElementById("aaa").innerHTML += '<H1 style="color:blue;width:100%;">' + document.getElementById("textarea").value + '</H1>';
}
function transform_text_to_mob(){
	var text;
	var resultat = new Array();
	text = document.getElementById("textarea").value;
	//alert(document.getElementById("textarea").value);
	document.getElementById("aaa").innerHTML = '<H1 style="color:blue;">' + document.getElementById("textarea").value + '</H1>';
	document.getElementById("textarea").value = '';
	var i=0;
	while (i<text.length){
	resultat = text.substring(0,1);
	text = text.substring(1,text.length);
		if (resultat == 'a'){
			document.getElementById("textarea").value += '2.';
		}
		if (resultat == 'b'){
			document.getElementById("textarea").value += '22.';
		}
		if (resultat == 'c'){
			document.getElementById("textarea").value += '222.';
		}
		if (resultat == 'd'){
			document.getElementById("textarea").value += '3.';
		}
		if (resultat == 'e'){
			document.getElementById("textarea").value += '33.';
		}
		if (resultat == 'f'){
			document.getElementById("textarea").value += '333.';
		}
		if (resultat == 'g'){
			document.getElementById("textarea").value += '4.';
		}
		if (resultat == 'h'){
			document.getElementById("textarea").value += '44.';
		}
		if (resultat == 'i'){
			document.getElementById("textarea").value += '444.';
		}
		if (resultat == 'j'){
			document.getElementById("textarea").value += '5.';
		}
		if (resultat == 'k'){
			document.getElementById("textarea").value += '55.';
		}
		if (resultat == 'l'){
			document.getElementById("textarea").value += '555.';
		}
		if (resultat == 'm'){
			document.getElementById("textarea").value += '6.';
		}
		if (resultat == 'n'){
			document.getElementById("textarea").value += '66.';
		}
		if (resultat == 'o'){
			document.getElementById("textarea").value += '666.';
		}
		if (resultat == 'p'){
			document.getElementById("textarea").value += '7.';
		}
		if (resultat == 'q'){
			document.getElementById("textarea").value += '77.';
		}
		if (resultat == 'r'){
			document.getElementById("textarea").value += '777.';
		}
		if (resultat == 's'){
			document.getElementById("textarea").value += '7777.';
		}
		if (resultat == 't'){
			document.getElementById("textarea").value += '8.';
		}
		if (resultat == 'u'){
			document.getElementById("textarea").value += '88.';
		}
		if (resultat == 'v'){
			document.getElementById("textarea").value += '888.';
		}
		if (resultat == 'w'){
			document.getElementById("textarea").value += '9.';
		}
		if (resultat == 'x'){
			document.getElementById("textarea").value += '99.';
		}
		if (resultat == 'y'){
			document.getElementById("textarea").value += '999.';
		}
		if (resultat == 'z'){
			document.getElementById("textarea").value += '9999.';
		}
		if (resultat == ' '){
			document.getElementById("textarea").value += '0.';
		}
	}
	document.getElementById("aaa").innerHTML += '<H1 style="color:blue;width:100%;">' + document.getElementById("textarea").value.substring(0,document.getElementById("textarea").value.length-1) + '</H1>';
	document.getElementById("textarea").value = document.getElementById("textarea").value.substring(0,document.getElementById("textarea").value.length-1);
}
</script>
<div id="aaa">
</div>
<form width="100%">
<input type="textarea" style="margin-top:15%;width:100%;height:50%;" rows="100"; id="textarea"><br/>
<input type="button" value="change mob to text" onClick="transform_mob_to_text()">
<input type="button" value="change text to mob" onClick="transform_text_to_mob()">
</form>


Merci de vos réponses :)
A voir également:

2 réponses

Salut,

je pense que ton problème vient de ton HTML :
<input type="textarea" style="margin-top:15%;width:100%;height:50%;" rows="100"; id="textarea"><br/>

en fait il y a un point virgule en trop et le choix de l'identifiant de ton champs est un peu trop spécifique : textarea est un nom réservé.

Donc ta ligne devient :

<input type="textarea" style="margin-top:15%;width:100%;height:50%;" rows="100" id="mytest"><br/>

Par contre, cela implique que tu doives modifier tout ton code javascript en renommant tes document.getElementById("textarea") par document.getElementById("mytest")

A+

Hibernator
0
prosciuto145 Messages postés 92 Date d'inscription dimanche 6 mai 2007 Statut Membre Dernière intervention 7 septembre 2009 24
22 juil. 2008 à 10:10
Merci, je testerais plus tard mais de toute maniere c'est juste une page comme ça pour test donc un simple "replace all" va être vite fais, je n'ai pas tout un site à refaire :)

Cependant une chose étrange est qu'en fait ce script marche sur mon PC avec windows XP et explorer 7, mais pas sur celui de mon voisin qui a aussi IE7 mais sur vista...
Bref, je vais modifié mon ID.

Merci à toi de tes réponses.
0