Bonjour.
Dans l'une de mes pages Internet HTML, j'aimerais instaurer un système de conversion Décimal - Hexadécimal. Pour cela, j'utilise un Javascript :
<!--
function convertir() {
nbredeci = document.formul.nbredecif.value
longueur = nbredeci.length
valeur1 = "n"
valeur2 = "n"
valeur3 = "n"
valeur4 = "n"
valeur5 = "n"
valeur6 = "n"
if (longueur == 0) alert("Entrez un nombre !")
if (nbredeci < 16 && longueur != 0) {
valeur1 = nbredeci
}
if (nbredeci > 15 && nbredeci < 256) {
valeur1 = Math.floor(nbredeci/16)
valeur2 = nbredeci-valeur1*16
}
if (nbredeci > 255 && nbredeci < 4096) {
valeur1 = Math.floor(nbredeci/256)
valeur2 = Math.floor((nbredeci-valeur1*256)/16)
valeur3 = Math.floor(nbredeci-valeur1*256-valeur2*16)
}
if (nbredeci > 4095 && nbredeci < 65536) {
valeur1 = Math.floor(nbredeci/4096)
valeur2 = Math.floor((nbredeci-valeur1*4096)/256)
valeur3 =
Math.floor((nbredeci-valeur1*4096-valeur2*256)/16)
valeur4 =
Math.floor(nbredeci-valeur1*4096-valeur2*256-valeu
r3*16)
}
if (nbredeci > 65535 && nbredeci < 1048576) {
valeur1 = Math.floor(nbredeci/65536)
valeur2 = Math.floor((nbredeci-valeur1*65536)/4096)
valeur3 =
Math.floor((nbredeci-valeur1*65536-valeur2*4096)/2
56)
valeur4 =
Math.floor((nbredeci-valeur1*65536-valeur2*4096-va
leur3*256)/16)
valeur5 =
Math.floor(nbredeci-valeur1*65536-valeur2*4096-val
eur3*256-valeur4*16)
}
if (nbredeci > 1048575 && nbredeci < 16777216) {
valeur1 = Math.floor(nbredeci/1048576)
valeur2 = Math.floor((nbredeci-valeur1*1048576)/65536)
valeur3 =
Math.floor((nbredeci-valeur1*1048576-valeur2*65536
)/4096)
valeur4 =
Math.floor((nbredeci-valeur1*1048576-valeur2*65536
-valeur3*4096)/256)
valeur5 =
Math.floor((nbredeci-valeur1*1048576-valeur2*65536
-valeur3*4096-valeur4*256)/16)
valeur6 =
Math.floor(nbredeci-valeur1*1048576-valeur2*65536-
valeur3*4096-valeur4*256-valeur5*16)
}
if (nbredeci == 16777216 || nbredeci > 16777216) alert("Entrez une valeur décimale entre 0 et 16777215.")
if (valeur1 == 0) valeur1 = "0"
if (valeur1 == 1) valeur1 = "1"
if (valeur1 == 2) valeur1 = "2"
if (valeur1 == 3) valeur1 = "3"
if (valeur1 == 4) valeur1 = "4"
if (valeur1 == 5) valeur1 = "5"
if (valeur1 == 6) valeur1 = "6"
if (valeur1 == 7) valeur1 = "7"
if (valeur1 == 8) valeur1 = "8"
if (valeur1 == 9) valeur1 = "9"
if (valeur1 == 10) valeur1 = "A"
if (valeur1 == 11) valeur1 = "B"
if (valeur1 == 12) valeur1 = "C"
if (valeur1 == 13) valeur1 = "D"
if (valeur1 == 14) valeur1 = "E"
if (valeur1 == 15) valeur1 = "F"
if (valeur2 == 0) valeur2 = "0"
if (valeur2 == 1) valeur2 = "1"
if (valeur2 == 2) valeur2 = "2"
if (valeur2 == 3) valeur2 = "3"
if (valeur2 == 4) valeur2 = "4"
if (valeur2 == 5) valeur2 = "5"
if (valeur2 == 6) valeur2 = "6"
if (valeur2 == 7) valeur2 = "7"
if (valeur2 == 8) valeur2 = "8"
if (valeur2 == 9) valeur2 = "9"
if (valeur2 == 10) valeur2 = "A"
if (valeur2 == 11) valeur2 = "B"
if (valeur2 == 12) valeur2 = "C"
if (valeur2 == 13) valeur2 = "D"
if (valeur2 == 14) valeur2 = "E"
if (valeur2 == 15) valeur2 = "F"
if (valeur3 == 0) valeur3 = "0"
if (valeur3 == 1) valeur3 = "1"
if (valeur3 == 2) valeur3 = "2"
if (valeur3 == 3) valeur3 = "3"
if (valeur3 == 4) valeur3 = "4"
if (valeur3 == 5) valeur3 = "5"
if (valeur3 == 6) valeur3 = "6"
if (valeur3 == 7) valeur3 = "7"
if (valeur3 == 8) valeur3 = "8"
if (valeur3 == 9) valeur3 = "9"
if (valeur3 == 10) valeur3 = "A"
if (valeur3 == 11) valeur3 = "B"
if (valeur3 == 12) valeur3 = "C"
if (valeur3 == 13) valeur3 = "D"
if (valeur3 == 14) valeur3 = "E"
if (valeur3 == 15) valeur3 = "F"
if (valeur4 == 0) valeur4 = "0"
if (valeur4 == 1) valeur4 = "1"
if (valeur4 == 2) valeur4 = "2"
if (valeur4 == 3) valeur4 = "3"
if (valeur4 == 4) valeur4 = "4"
if (valeur4 == 5) valeur4 = "5"
if (valeur4 == 6) valeur4 = "6"
if (valeur4 == 7) valeur4 = "7"
if (valeur4 == 8) valeur4 = "8"
if (valeur4 == 9) valeur4 = "9"
if (valeur4 == 10) valeur4 = "A"
if (valeur4 == 11) valeur4 = "B"
if (valeur4 == 12) valeur4 = "C"
if (valeur4 == 13) valeur4 = "D"
if (valeur4 == 14) valeur4 = "E"
if (valeur4 == 15) valeur4 = "F"
if (valeur5 == 0) valeur5 = "0"
if (valeur5 == 1) valeur5 = "1"
if (valeur5 == 2) valeur5 = "2"
if (valeur5 == 3) valeur5 = "3"
if (valeur5 == 4) valeur5 = "4"
if (valeur5 == 5) valeur5 = "5"
if (valeur5 == 6) valeur5 = "6"
if (valeur5 == 7) valeur5 = "7"
if (valeur5 == 8) valeur5 = "8"
if (valeur5 == 9) valeur5 = "9"
if (valeur5 == 10) valeur5 = "A"
if (valeur5 == 11) valeur5 = "B"
if (valeur5 == 12) valeur5 = "C"
if (valeur5 == 13) valeur5 = "D"
if (valeur5 == 14) valeur5 = "E"
if (valeur5 == 15) valeur5 = "F"
if (valeur6 == 0) valeur6 = "0"
if (valeur6 == 1) valeur6 = "1"
if (valeur6 == 2) valeur6 = "2"
if (valeur6 == 3) valeur6 = "3"
if (valeur6 == 4) valeur6 = "4"
if (valeur6 == 5) valeur6 = "5"
if (valeur6 == 6) valeur6 = "6"
if (valeur6 == 7) valeur6 = "7"
if (valeur6 == 8) valeur6 = "8"
if (valeur6 == 9) valeur6 = "9"
if (valeur6 == 10) valeur6 = "A"
if (valeur6 == 11) valeur6 = "B"
if (valeur6 == 12) valeur6 = "C"
if (valeur6 == 13) valeur6 = "D"
if (valeur6 == 14) valeur6 = "E"
if (valeur6 == 15) valeur6 = "F"
if (valeur1 == "n") valeur1 = ""
if (valeur2 == "n") valeur2 = ""
if (valeur3 == "n") valeur3 = ""
if (valeur4 == "n") valeur4 = ""
if (valeur5 == "n") valeur5 = ""
if (valeur6 == "n") valeur6 = ""
nbrehexa = valeur1 + valeur2 + valeur3 + valeur4 + valeur5 + valeur6
if (nbredeci == 16777216 || nbredeci > 16777216) nbrehexa = ""
document.formul.nbrehexaf.value = nbrehexa
}
function convertir2() {
nbrehexa = document.formul.nbrehexaf.value
longueur = nbrehexa.length
valeur1 = 0
valeur2 = 0
valeur3 = 0
valeur4 = 0
valeur5 = 0
valeur6 = 0
if (longueur == 0) alert("Entrez un nombre !")
if (longueur > 0) valeur1 = nbrehexa.charAt(longueur-1).toUpperCase()
if (longueur > 1) valeur2 = nbrehexa.charAt(longueur-2).toUpperCase()
if (longueur > 2) valeur3 = nbrehexa.charAt(longueur-3).toUpperCase()
if (longueur > 3) valeur4 = nbrehexa.charAt(longueur-4).toUpperCase()
if (longueur > 4) valeur5 = nbrehexa.charAt(longueur-5).toUpperCase()
if (longueur > 5) valeur6 = nbrehexa.charAt(longueur-6).toUpperCase()
if (longueur > 6) alert("Entrez une valeur hexadécimale avec maximum six chiffres")
if (valeur1 == "0") valeur1 = 0
if (valeur1 == "1") valeur1 = 1
if (valeur1 == "2") valeur1 = 2
if (valeur1 == "3") valeur1 = 3
if (valeur1 == "4") valeur1 = 4
if (valeur1 == "5") valeur1 = 5
if (valeur1 == "6") valeur1 = 6
if (valeur1 == "7") valeur1 = 7
if (valeur1 == "8") valeur1 = 8
if (valeur1 == "9") valeur1 = 9
if (valeur1 == "A") valeur1 = 10
if (valeur1 == "B") valeur1 = 11
if (valeur1 == "C") valeur1 = 12
if (valeur1 == "D") valeur1 = 13
if (valeur1 == "E") valeur1 = 14
if (valeur1 == "F") valeur1 = 15
if (valeur2 == "0") valeur2 = 0
if (valeur2 == "1") valeur2 = 1
if (valeur2 == "2") valeur2 = 2
if (valeur2 == "3") valeur2 = 3
if (valeur2 == "4") valeur2 = 4
if (valeur2 == "5") valeur2 = 5
if (valeur2 == "6") valeur2 = 6
if (valeur2 == "7") valeur2 = 7
if (valeur2 == "8") valeur2 = 8
if (valeur2 == "9") valeur2 = 9
if (valeur2 == "A") valeur2 = 10
if (valeur2 == "B") valeur2 = 11
if (valeur2 == "C") valeur2 = 12
if (valeur2 == "D") valeur2 = 13
if (valeur2 == "E") valeur2 = 14
if (valeur2 == "F") valeur2 = 15
if (valeur3 == "0") valeur3 = 0
if (valeur3 == "1") valeur3 = 1
if (valeur3 == "2") valeur3 = 2
if (valeur3 == "3") valeur3 = 3
if (valeur3 == "4") valeur3 = 4
if (valeur3 == "5") valeur3 = 5
if (valeur3 == "6") valeur3 = 6
if (valeur3 == "7") valeur3 = 7
if (valeur3 == "8") valeur3 = 8
if (valeur3 == "9") valeur3 = 9
if (valeur3 == "A") valeur3 = 10
if (valeur3 == "B") valeur3 = 11
if (valeur3 == "C") valeur3 = 12
if (valeur3 == "D") valeur3 = 13
if (valeur3 == "E") valeur3 = 14
if (valeur3 == "F") valeur3 = 15
if (valeur4 == "0") valeur4 = 0
if (valeur4 == "1") valeur4 = 1
if (valeur4 == "2") valeur4 = 2
if (valeur4 == "3") valeur4 = 3
if (valeur4 == "4") valeur4 = 4
if (valeur4 == "5") valeur4 = 5
if (valeur4 == "6") valeur4 = 6
if (valeur4 == "7") valeur4 = 7
if (valeur4 == "8") valeur4 = 8
if (valeur4 == "9") valeur4 = 9
if (valeur4 == "A") valeur4 = 10
if (valeur4 == "B") valeur4 = 11
if (valeur4 == "C") valeur4 = 12
if (valeur4 == "D") valeur4 = 13
if (valeur4 == "E") valeur4 = 14
if (valeur4 == "F") valeur4 = 15
if (valeur5 == "0") valeur5 = 0
if (valeur5 == "1") valeur5 = 1
if (valeur5 == "2") valeur5 = 2
if (valeur5 == "3") valeur5 = 3
if (valeur5 == "4") valeur5 = 4
if (valeur5 == "5") valeur5 = 5
if (valeur5 == "6") valeur5 = 6
if (valeur5 == "7") valeur5 = 7
if (valeur5 == "8") valeur5 = 8
if (valeur5 == "9") valeur5 = 9
if (valeur5 == "A") valeur5 = 10
if (valeur5 == "B") valeur5 = 11
if (valeur5 == "C") valeur5 = 12
if (valeur5 == "D") valeur5 = 13
if (valeur5 == "E") valeur5 = 14
if (valeur5 == "F") valeur5 = 15
if (valeur6 == "0") valeur6 = 0
if (valeur6 == "1") valeur6 = 1
if (valeur6 == "2") valeur6 = 2
if (valeur6 == "3") valeur6 = 3
if (valeur6 == "4") valeur6 = 4
if (valeur6 == "5") valeur6 = 5
if (valeur6 == "6") valeur6 = 6
if (valeur6 == "7") valeur6 = 7
if (valeur6 == "8") valeur6 = 8
if (valeur6 == "9") valeur6 = 9
if (valeur6 == "A") valeur6 = 10
if (valeur6 == "B") valeur6 = 11
if (valeur6 == "C") valeur6 = 12
if (valeur6 == "D") valeur6 = 13
if (valeur6 == "E") valeur6 = 14
if (valeur6 == "F") valeur6 = 15
nbredeci = valeur1 + valeur2*16 + valeur3*256 + valeur4*4096 + valeur5*65536 + valeur6*1048576
if (longueur > 6) nbredeci = ""
document.formul.nbredecif.value = nbredeci
}
//-->
Seulement voilà, quand je souhaite l'installer dans la page, je place la formule :
<form name="formul">
<pre>
Décimal <input type="text" name="nbredecif" value="" size="10"> <input type="button" value="=>" onClick="convertir()"><input type="button" value="<=" onClick="convertir2()"> Hexadécimal <input type="text" name="nbrehexaf" value="" size="10">
</pre>
</form>
Celle-ci marche impeccablement, mais si je la met une deuxième fois, plus aucune des deux ne fonctionne. Or j'aimerais la remettre plusieurs fois dans ma page... Comment pourrais-je faire ?
Merci !
Pour info, voici à quoi ça ressemble : http://home.scarlet.be/jeagolden/site/convertisseur.htm
ta fonction est dépendante du nom du formulaire de ta page ( elle y ecrit directement par document.nomDuFormulaire... ), si tu veux que la meme fonction puisse etre utilisée dans plusieurs formulaires sur une meme page il faut que tu supprime cette dépendance. Soit en passant le formulaire en parametre (mauvaise solution), soit en faisant une fonction "string decimalVersHexa(string)" et ne autre "string hexaVersDecimal(string)" chacune affecté a un des boutons de tes formulaires de la maniere suivante (a peu pres):
<form name="formul">
<pre>
Décimal <input type="text" name="nbredecif" value="" size="10"> <input type="button" value="=>" onClick="nbrehexaf.value = hexaVersDecimal(nbredecif.value)"><input type="button" value="<=" onClick="nbredecif.value = hexaVersDecimal(nbrehexaf.value)"> Hexadécimal <input type="text" name="nbrehexaf" value="" size="10">
</pre>
</form>
Derniere chose, ne confond pas java et javascript, ça n'a rien a voir.
Deplus, ta suite de if est relativement moche et difficile a maintenir, je suis sur que tu dois pouvoir faire autrement.
A vrai dire je ne m'y connais pas trop, j'ai juste pompé le code sur un site.
Mais je n'arrive toujours pas à en faire fonctionner plusieurs par page malgré votre aide... Donc si vous pouviez me dire exactement ce qu'il faut remplacer
Merci ^^
heu... non
Si on te fait le boulot, comment tu vas apprendre ?
Te mettre sur la piste ok. Si tu ne vois pas du tout comment faire, tu devrais peut-etre lire un cours sur html/javascript (siteduzero ?) avant d'y revenir.
Je ne veux pas apprendre, c'est juste pour une page parmi tant d'autres, après j'en aurais plus jamais besoin ^^ Merci sinon.
tu ne veux pas apprendre. Au moins ça a le mérite d'etre honete.. Néanmoins tu va avoir du mal a trouver un pigeon qui te fera ta page maintenant.
Pourquoi tu as besoin d'avoir le formulaire plusieurs fois sur la meme page ?
une fois c'est suffisant.
Franchement, ce n'est peut-être pas à moi de faire de leçon mais je te trouve particulièrement ésagréable, alors que jusque là j'ai au moins eu le mérite d'être poli, non ? Alors si tu ne sais pas répondre, abstiens-toi de poster ou poste sympathiquement. On est sur des forums d'aide à ce que je sache, pas pour se faire envoyer balader.
Pourquoi j'en ai besoin de plusieurs ? Car je crée une page d'explication de fonctionnement de codes Action Replay, et il y a besoin d'un convertisseur pour une grande partie des codes, donc pour plus de facilités c'est ainsi.
t'enflamme pas mon grand.
Tout ce que je dis c'est que personne ne fera le boulot à ta place si tu ne veux pas t'impliquer.
Et pour ton probleme, pourquoi ne pas mettre ton convertisseur dans une frame sur un coté de ta page ou meme dans un pop-up independant. Si tu ne sais pas faire, tu en as pour 15minutes de lecture du cours sur l'html du sdz. C'est assez crade mais a coté des fonctions que tu as mis plus haut ça devrait pas trop se remarquer.
Super_Acro, usuellement les gens ici aident les autres a apprendre et ne font pas leur travail. Parceque d'habitude ils n'en ont pas le temps. Et les forumeurs aiment aider les autres a comprendre.
Du fait, On est pas forcement sur la meme longueur d'onde que les gens qui viennent et on ne se comprends pas. La solution de guyver a l'air pas mal, mettre ton application dans une fenetre distincte du reste, cela simplifiera la page.