Hej alla hjälpvilliga:-) Jag har knappat ihop ett exempel till dig. Ja, nu har jag det så gött man kan ha:)Hjälp med resultatvisning
Har då strandat i mina försök att själv fixa mitt javascript...
Tidigare i annat forum på Pellesoft fick jag hjälp med grunden till scriptet, och trodde i min enfald att jag skulle klara att fixa hela resten själv, men ack vad jag bedrog mig!
Efter att ha läst kilometervis med javascripsskolor och exempel, (och ändå inte fixa detta) finns inget annat att göra än att kapitulera och inse att jag behöver hjälp...
Så här ser scriptetut än så länge:
<!--function pris(a, b, c)
{
p =(((b * c * 0.0036) < 4) ? 4 : (b * c * 0.0036));
pp=(((b * c * 0.0036) < 4) ? 4 : (b * c * 0.0036)) * a;
m =(((b * c * 0.0036) < 4) ? 4 : (b * c * 0.0036)) * a * 1.25;
if (a == 0)
{ return p; }
if (b == 0)
{ return 0; }
if (c == 0)
{ return 0; }
else
{ return pp; }
}
document.d1.resultat.value = Math.round(p * 10) / 10;
function moms(a, b, c)
{
if (a == 0)
{ return p * 1.25; }
if (b == 0)
{ return p; }
if (c == 0)
{ return p; }
else
{ return m; }
}
//-->
och sen formuläret:
<form name="d1" onSubmit="return false;">
Antal Bredd Höjd Pris Inkl. moms <br>
<input type="text" name="a" size="4">
<input type="text" name="b" size="4">
<input type="text" name="c" size="4">
<input type="text" name="resultat" size="5">
<input type="text" name="oms" value="" size="5"
onchange="moms(this.form.a.value, this.form.b.value, this.form.c.value)"> <br>
<input value="VISA RESULTAT" type="submit"
onclick="this.form.resultat.value=pris
(this.form.a.value, this.form.b.value, this.form.c.value)">
<input value="MOMS" type="button"
onclick="this.form.oms.value=moms
(this.form.a.value, this.form.b.value, this.form.c.value)">
<INPUT TYPE="Reset" NAME="Reset" VALUE="RENSA">
Vad jag vill är att få bort momsknappen. När man trycker på knappen skall resultatet synas utan moms i ett fält och med moms i nästa.Eller ännu bättre: resultatet syns vid "enter" eller "tab"(utan knapp)
Sen vill jag även att avrundning skall ske till närmsta 50-öring (gäller upp till 30:-) därefter till närmsta krona.
Hoppas det finns ngn kunnig och hjälpsam som har tid å lust att hjälpa till...Sv: Hjälp med resultatvisning
Har inte testat det fullt ut, så vissa barnsjukdomar kanske kan uppkomma.
Men det är iallafall en grund du kan bygga vidare på...
Tänk på att validera alla värden i formuläret innan du anropar funktionen.
(Endast siffror etc.)
Ha det gött!
// Tobbe
<code>
<script language="javascript" type="text/javascript">
function getResult(){
// Hämtar värden från formuläret
var quantity = document.d1.quantity.value;
var x = document.d1.x.value;
var y = document.d1.y.value;
// Räknar ut priset
var price = (((x * y) * 0.0036) < 4) ? 4 : ((x*y) * 0.0036);
price = (quantity > 1) ? (price * quantity) : price;
price = Math.round(price * 100) / 100;
// Kontrollerar om priset innehåller decimaler
if(String(price).indexOf('.') != -1){
var decimal = parseInt(String(price).substring(String(price).indexOf('.') + 1));
var integer = parseInt(String(price).substring(0,String(price).indexOf('.')));
// Om priset endast innehåller en decimal ökar vi till 2st
decimal = (String(decimal).length == 1) ? (decimal * 10) : decimal;
// Om priset understiger 30kr
if(integer < 30){
// Avrundar till närmsta 50-öring
price = (decimal >= 25 && decimal < 75) ? parseInt(integer + 0.5) : price;
price = (decimal < 25) ? integer : price;
price = (decimal >= 75) ? parseInt(integer + 1) : price;
} else {
// Om priset överstiger 30kr, avrundar till närmsta krona
price = (decimal >= 50) ? parseInt(integer + 1) : integer;
}
}
// Skriver ut resultatet
document.getElementById('result').innerHTML = 'Pris '+price+'kr ('+ parseInt(price * 1.25) +'kr inkl.Moms)';
}
</script>
<form name="d1">
<table style="font-family:verdana;font-size:12px;">
<tr>
<td>Antal</td>
<td>Bredd</td>
<td colspan="2">Höjd</td>
</tr>
<tr>
<td style="width:60px;"><input type="text" name="quantity" style="width:50px;"></td>
<td style="width:60px;"><input type="text" name="x" style="width:50px;"></td>
<td style="width:60px;"><input type="text" name="y" style="width:50px;"></td>
<td style="width:60px;"><input type="button" value="Visa resultat" onclick="javascript: getResult();"></td>
</tr>
<tr>
<td colspan="4" style="height:20px;" valign="middle"><span id="result" style="font-weight:bold;"></span></td>
</tr>
</table>
</form>
</code>Sv:Hjälp med resultatvisning
Det var kanonbra att få ett så utförligt svar!
å med tungan rätt i mun skall det vara själva *+-*/ om jag inte skall lyckas med detta,
som verkar funka finfint
Bock å Tack!