11521 sujets
JavaScript, DOM et API Web HTML5
Bonsoir Jean pierre et merci pour le code.
J'ai deux petit soucis...
Quand je fais un copier coller de ton code dans NVU ou KOMPOSER, il est automatiquement transformé à l'enregistrement de la manière suivante:
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
#pge {display:block;width:100px;margin:30px auto;}
input {width:100%;text-align:center}
</style>
<title></title>
</head>
<body>
<div id="pge"> <input
onblur="$('rsp').innerHTML=(+this.value)+
(+this.nextSibling.value)"
type="text"><input
onblur="$('rsp').innerHTML=(+this.value)+(+this.previousSibling.value)"
type="text">
<p>Total : <span id="rsp"></span></p>
</div>
<script>
function $(i){return document.getElementById(i)}
</script>
</body>
</html>
Même en entrant le code manuellement, c'est pareil.
Le deuxième soucis est que j'obtiens une addition et non une multiplication, j'ai changé les + en * mais ça se plante...
Merci pour ton dévouement
Cordialement
J'ai deux petit soucis...
Quand je fais un copier coller de ton code dans NVU ou KOMPOSER, il est automatiquement transformé à l'enregistrement de la manière suivante:
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
#pge {display:block;width:100px;margin:30px auto;}
input {width:100%;text-align:center}
</style>
<title></title>
</head>
<body>
<div id="pge"> <input
onblur="$('rsp').innerHTML=(+this.value)+
(+this.nextSibling.value)"
type="text"><input
onblur="$('rsp').innerHTML=(+this.value)+(+this.previousSibling.value)"
type="text">
<p>Total : <span id="rsp"></span></p>
</div>
<script>
function $(i){return document.getElementById(i)}
</script>
</body>
</html>
Même en entrant le code manuellement, c'est pareil.
Le deuxième soucis est que j'obtiens une addition et non une multiplication, j'ai changé les + en * mais ça se plante...
Merci pour ton dévouement
Cordialement
Prière d'utiliser la colorisation syntactique, et l'indentation, ça aide!
Ce que je comprends c'est que tes éditeurs se veulent "plus malins" que toi et changent l'ordre des attributs dans le code, ajoutent un <title>, etc.
C'est pas idiot, mais personnellement je n'aime pas qu'un outil fasse cela sans que je lui demande expressément.
Concernant les "+" à remplacer par "*" il ne faut pas tous les remplacer, car
le + de "+this.value" set à assurer que c'est bien un nombre et pas une chaîne de caractère qui sera pris en compte dans l'opération. si tu les remplaces par des "*" "ça va pas l'faire", comme on dit.
on doit donc avoir
@JPB: je vois que tu as fait comme moi: tout ce que tu as gardé de jQuery c'est $('id')
Modifié par PapyJP (18 Apr 2020 - 12:49)
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
#pge {display:block;width:100px;margin:30px auto;}
input {width:100%;text-align:center}
</style>
<title></title>
</head>
<body>
<div id="pge">
<input onblur="$('rsp').innerHTML=(+this.value)+(+this.nextSibling.value)"
type="text">
<input onblur="$('rsp').innerHTML=(+this.value)+(+this.previousSibling.value)"
type="text">
<p>Total : <span id="rsp"></span></p>
</div>
<script>
function $(i){return document.getElementById(i)}
</script>
</body>
</html>
Ce que je comprends c'est que tes éditeurs se veulent "plus malins" que toi et changent l'ordre des attributs dans le code, ajoutent un <title>, etc.
C'est pas idiot, mais personnellement je n'aime pas qu'un outil fasse cela sans que je lui demande expressément.
Concernant les "+" à remplacer par "*" il ne faut pas tous les remplacer, car
le + de "+this.value" set à assurer que c'est bien un nombre et pas une chaîne de caractère qui sera pris en compte dans l'opération. si tu les remplaces par des "*" "ça va pas l'faire", comme on dit.
on doit donc avoir
<input onblur="$('rsp').innerHTML=(+this.value)*(+this.nextSibling.value)"
type="text">
<input onblur="$('rsp').innerHTML=(+this.value)*(+this.previousSibling.value)"
type="text">
@JPB: je vois que tu as fait comme moi: tout ce que tu as gardé de jQuery c'est $('id')
Modifié par PapyJP (18 Apr 2020 - 12:49)
Salut les gars,
En partie grâce à votre aide j'ai put réaliser le code que j'aimerais bien vous passer, mais même avec un copier/coller a partir de notepad, ou le code a une colorisation et une indexation correcte, mon code reste noir et sans indexation dans le forum.
Si vous avez un tuyau je suis preneur.
Je vous joints l'image du résultat de mon travail. Il reste à multiplier le résultat de la surface calculée par le tarif au cm2 (protégé en écriture) et afficher le résultat TTC.
J'y bosse.......
Merci d'avance.
Cordialement
En partie grâce à votre aide j'ai put réaliser le code que j'aimerais bien vous passer, mais même avec un copier/coller a partir de notepad, ou le code a une colorisation et une indexation correcte, mon code reste noir et sans indexation dans le forum.
Si vous avez un tuyau je suis preneur.
Je vous joints l'image du résultat de mon travail. Il reste à multiplier le résultat de la surface calculée par le tarif au cm2 (protégé en écriture) et afficher le résultat TTC.
J'y bosse.......
Merci d'avance.
Cordialement
Ok j'ai vu !!!
J'ai cliqué sur les propositions "code, HTML et javascript", j'espère que ca a marché.
Voila donc le code....
J'ai cliqué sur les propositions "code, HTML et javascript", j'espère que ca a marché.
Voila donc le code....
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
#pge {display:block;width:100px;margin:30px auto;}
input {width:100%;text-align:center}
</style>
<title>essai2</title>
</head>
<body>
<table
style="text-align: left; background-color: rgb(222, 184, 135); width: 383px; height: 186px;"
border="0" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="background-color: rgb(222, 184, 135);"></td>
<td></td>
<td style="text-align: center; font-weight: bold;"
valign="undefined"><small>Entrez
vos dimensions en cm</small></td>
</tr>
<tr>
<td
style="height: 152px; width: 150px; text-align: center; vertical-align: middle;"
src="Jimshop/images/carre.jpg"><img alt=""
src="Jimshop/images/carre.jpg"><br>
</td>
<td
style="width: 30px; vertical-align: top; text-align: right; background-color: rgb(222, 184, 135);"><br>
<br>
<span style="font-weight: bold;">A</span><br
style="font-weight: bold;">
<span style="font-weight: bold;">B</span><br>
</td>
<td style="background-color: rgb(222, 184, 135);">
<div id="pge"> <input
oninput="$('rsp').innerHTML=(+this.value)*(+this.nextElementSibling.value)"
type="text"><input
oninput="$('rsp').innerHTML=(+this.value)*(+this.previousElementSibling.value)"
type="text">
<p><span style="font-weight: bold;">Total :</span>
<span id="rsp"
style="color: rgb(247, 62, 25); font-weight: bold;"></span></p>
</div>
<big><big>
<script>
function $(i){return document.getElementById(i)}
</script></big></big></td>
</tr>
</tbody>
</table>
<table
style="text-align: left; background-color: rgb(222, 184, 135); width: 383px; height: 32px;"
border="0" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="width: 162px; text-align: center;"><span><span
style="font-weight: bold;">Tarif TTC au cm2</span> </span><input
disabled="disabled" value="0.12" autofocus=""
maxlength="5" size="20" class="numeric"
align="center" type="text"> </td>
<td></td>
</tr>
</tbody>
</table>
<br>
</body>
</html>
Bonjour archic1,
Utilise plutôt de ajout d'evenement addEventListener('input',ftc) au lieu de oninput
c'est plus propre :
https://codepen.io/Zonecss/pen/xxwRQyL
Utilise plutôt de ajout d'evenement addEventListener('input',ftc) au lieu de oninput
c'est plus propre :
https://codepen.io/Zonecss/pen/xxwRQyL
Bonjour archic1,
addEventListener ne s'utilise pas comme cela, je t'avais fais un exemple dans le codepen
addEventListener ne s'utilise pas comme cela, je t'avais fais un exemple dans le codepen