Html javascript formulaire

Driversat -  
Azer_Ty Messages postés 108 Statut Membre -
Bonjour,
j'ai créé un bout de code en javascript, mais j'ai deux problèmes:
1-quand je tape dans le champ de saisie un code différent de 16 caractères, la page se recharge mais efface le code saisi.
2-quand je mets un code de 16 caractères, ça marche bien mais l'icone du navigateur ne cesse pas de tourner et je ressens le ventilateur du processeur augmenter de vitesse.
Voici le code:

<html><head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Livebox h235 to unlock code converter.</title>
<script language="javascript">
<!--
var s;
var r;
function verif_formulaire(){
s=document.formulaire.nom.value;
if(s == "" || s.length !== 16){
alert("Veuillez entrer un code de 16 caractères!");
document.formulaire.nom.focus();
return false;
}
else {
r=s[9]+s[4]+s[1]+s[12]+s[14]+s[5]+s[13]+s[6]+s[15]+s[3]+s[8]+s[0]+s[7]+s[10]+s[2]+s[11];

}
affiche();
}
//-->
</script>
</head><body>
Tapez <font color='#0010FF' size='4'> redboot_fconfig_get --parameter h235_key /dev/mtd4</font> dans le shell de votre Livebox et collez le résultat ici:<br><br>
<form name="formulaire" action="" method="post" onSubmit="verif_formulaire()">
<input type="text" size="16" name="nom"> <input type="submit" value="Envoyer">
</form>
<script>
function affiche(){
document.write ("<center><font color='#0010FF' size='5'>Votre code pour débloquer Livebox est: <br><br></font>","<font color='#FF0101' size='8'>"+r+"</font>");
}
</script>
</body></html>

2 réponses

Azer_Ty Messages postés 108 Statut Membre 60
 
Bonjour,
En fait lorsque l'on utilise le document.write(); on ouvre le document, le chargement se poursuit car le document n'est pas fermé, il suffit de faire :
function affiche(){
	document.write ("<center><font color='#0010FF' size='5'>Votre code pour débloquer Livebox est: <br /><br /></font>","<font color='#FF0101' size='8'>"+r+"</font></center>");
	document.close();
}

Bonne continuation.
0
Driversat
 
Merci bcp Azer_Ty pour l'astuce.
pour le focus je cherche encore :)
0
Azer_Ty Messages postés 108 Statut Membre 60
 
Bonjour,

Pour le problème du rechargement de la page, le problème vient du "onsubmit" car en faisant un submit on demande au formulaire d'envoyer les données vers une autre page, spécifiée dans le champ "action" du formulaire. Si rien n'est spécifié on a un rechargement de page et une perte du code javascript.

il suffit donc de faire :
<form name="formulaire" action="" method="post">
<input type="text" size="16" name="nom"> <input type="button" value="Envoyer" onclick="verif_formulaire()">
</form>

Bonne journée,
0