Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Hjälp med resultatvisning

Postades av 2007-10-02 19:50:44 - Ola Melin, i forum javascript/dhtml, Tråden har 2 Kommentarer och lästs av 1120 personer

Hej alla hjälpvilliga:-)
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 &nbsp;&nbsp; Bredd &nbsp; H&#xf6;jd &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pris&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Inkl. moms <br>
<input type="text" name="a" size="4">
<input type="text" name="b" size="4">
<input type="text" name="c" size="4">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" name="resultat" size="5"> &nbsp;&nbsp;
<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...


Svara

Sv: Hjälp med resultatvisning

Postades av 2007-10-02 22:48:12 - Tobias Steén

Jag har knappat ihop ett exempel till dig.

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>


Svara

Sv:Hjälp med resultatvisning

Postades av 2007-10-03 21:16:12 - Ola Melin

Ja, nu har jag det så gött man kan ha:)
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!


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 812
27 960
271 761
502
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies