Jeg er ikke helt sikker på om det er præcis det her du mente, men du kan prøve: function byttepenge(elm) { tot = parseFloat(elm.form.total.value.replace(",",".")); val = tot-parseInt(elm.value.replace(",",".")); if (elm.name == "dankort") { elm.form.kontant.value = (Math.max(0,val)).toFixed(2).toString().replace(".",","); } elm.form.tilbage.value = (val < 0) ? Math.abs(val).toFixed(2).toString().replace(".",",") : 0; }
og så skal du ændre din html til det her: <body> <form name="frm_kasse"> <span><label>total</label></span> <input name="total" type="text" value="6553,23" readonly="readonly" /> <br /> <span><label>dankort</label></span> <input name="dankort" onblur="byttepenge(this);" type="text" value="0" /> <br /> <span><label>kontant</label></span> <input name="kontant" onblur="byttepenge(this);" type="text" value="6553,23" /> <br /> <span><label>tilbage</label></span> <input name="tilbage" type="text" value="0" readonly="readonly" /> <br /> </form> </body>
java script: er forresten ulovligt i en event hvor browseren i forvejen forventer det er javascript. java script: skal kun bruges i andre attributter fx <a href="java script:alert('foo');"> - det var bare en lille side kommentar ;-)
så prøv: function byttepenge(elm) { tot = parseFloat(elm.form.total.value.replace(",",".")); val = tot-parseInt(elm.value.replace(",",".")); if (elm.name == "dankort") { elm.form.kontant.value = (Math.max(0,val)).toFixed(2).toString().replace(".",","); } if (elm.name == "kontant") { val -= parseInt(elm.form.dankort.value.replace(",",".")); } elm.form.tilbage.value = (val < 0) ? Math.abs(val).toFixed(2).toString().replace(".",",") : 0; }
Men der er stadig en ting som jeg er usikker på om det er rigtigt. Prøv at ændre kontant til 7000 og derefter dankort til fx 10 - så vil scriptet automatisk også ændre kontant i forhold til total. Men skal scriptet tage højde for at man har betalt flere kontanter end det samlede beløb og derfor ikke ændre kontant når denne er højere end total?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.