Avatar billede neoo Nybegynder
13. februar 2004 - 13:41 Der er 21 kommentarer og
1 løsning

javascript asp ?

hej til alle.

på en af mine asp side kalder jeg på en javascript, men jeg ved ikke hvorfor den regner tingene forkert :(

på siden har jeg en listboks(x_antalvoksne(værdi:1,2,3,4,5)) også har jeg en editfelt som hedder x_PrisVoksenSalg. der er selføllige også andre felter, men pointen er at der er to (300 og 400) værdi som kommer fra databasen og skal puses sammen og smides ind her, men den smider det forkert ind (den smider det ind som 300400 istedet for at visse det som 700)


koden jeg kalder det ser sådan ud :

<select size="1" name="x_AntalVoksenSalg" onchange="udregn('x_AntalVoksenSalg','<%= PrisVoksenSalg %>','<%= PrisVoksenSalg1 %>');"> 




og javascripten ser sådan ud :


function udregn(aFe,aAmount,aAmount1){
  if (aFe == "x_AntalVoksenSalg") {
    var AntalVoksenSalg;
    var Ele;
    Ele = document.form1.elements[aFe];//document.getElementById(aFe);
    AntalVoksenSalg = Ele.selectedIndex;
    var VoksenSalg  = 0;   
    var VoksenSalg1 = 0;
    if (isNaN(aAmount)) {
      VoksenSalg = parseFloat(aAmount.replace(",","."));
    }
    else VoksenSalg = aAmount;
    if (isNaN(aAmount1)) {
      VoksenSalg1 = parseFloat(aAmount1.replace(",","."));
    }
    else VoksenSalg1 = aAmount1;
    var Temp_Amount = 0.00;
    Temp_Amount = parseInt(AntalVoksenSalg) * parseFloat(VoksenSalg + VoksenSalg1);
    Temp_Amount = Math.round(Temp_Amount * 100) / 100;
    Edit_Box    = document.form1.x_PrisVoksenSalg;//document.getElementById("x_PrisVoksenSalg");
    Edit_Box.value = Temp_Amount;
  }




fejlen kommer vist her:
Temp_Amount = parseInt(AntalVoksenSalg) * parseFloat(VoksenSalg + VoksenSalg1);


hvor den alligevel ikke plusser voksensalg med voksensalg1 men istede smider dem ved siden af hinanden (eks 300200 istedet for at visse det som 500)

er der nogen der ved hvad jeg skal ændre her ?
Avatar billede neoo Nybegynder
13. februar 2004 - 14:12 #1
er der ikke nogen der gider at hjælpe ?
Avatar billede mm12010 Nybegynder
13. februar 2004 - 14:18 #2
Temp_Amount = parseInt(AntalVoksenSalg)*(parseFloat(VoksenSalg)+parseFloat(VoksenSalg1)));

200 point er lige rigligt for dette ;-)
Avatar billede odie Nybegynder
13. februar 2004 - 14:19 #3
Jeg er ikke så stærk til javacript, men jeg har været ude for noget lign og det fik jeg vistnok løst ved at lave en ekstra linie:

tempvar=VoksenSalg + VoksenSalg1
Temp_Amount = parseInt(AntalVoksenSalg) * parseFloat(tempvar);

/odie
Avatar billede mm12010 Nybegynder
13. februar 2004 - 14:20 #4
Temp_Amount = parseInt(AntalVoksenSalg)*(parseFloat(VoksenSalg)+parseFloat(VoksenSalg1));

lige en parentes for meget ;-)
Avatar billede mm12010 Nybegynder
13. februar 2004 - 14:29 #5
fejlen skydes at dine varibler 'VoksenSalg' og 'VoksenSalg1' ikke var definerede som tal og derfor blev sat sammen som to tekststrenge
Avatar billede mm12010 Nybegynder
13. februar 2004 - 14:30 #6
varibler = variabler
Avatar billede neoo Nybegynder
13. februar 2004 - 14:41 #7
jeg har testet mm12010 forslag og det virker superrrr. tak for hjælpen.
men kan du ikke indlægge et svar
Avatar billede mm12010 Nybegynder
13. februar 2004 - 14:42 #8
selv tak :o)
Avatar billede neoo Nybegynder
13. februar 2004 - 15:32 #9
hov nu melder den fejl, når jeg oprette et enkelt billet så siger den NaN hvad betyder det ?

Temp_Amount = parseInt(AntalVoksenSalg)*(parseFloat(VoksenSalg)+parseFloat(VoksenSalg1)));

for jeg trore at den nu kræver Voksensalg og voksensalg1 men det er ikke altid de begge er til stede hvad skal man så ændre ?
Avatar billede mm12010 Nybegynder
13. februar 2004 - 16:10 #10
Temp_Amount = parseInt(AntalVoksenSalg)*((isNaN(VoksenSalg)?0:parseFloat(VoksenSalg))+(isNaN(VoksenSalg1)?0:parseFloat(VoksenSalg1)));
Avatar billede neoo Nybegynder
13. februar 2004 - 16:13 #11
skal jeg smide det ind ?
Avatar billede neoo Nybegynder
13. februar 2004 - 16:34 #12
nu er jeg ved at blive tosset over det her.
med den kode du gav først kan jeg oprette en bokking med kald til voksensalg og voksensalg1, men når prøve men kun at lave en booking som indholder voksensalg så melder den NaN(ved ikke hvad det betyder). men hvis efter følgende prøver at restarte browseren og prøver med et dobelt som normal virker så melder den alligevel NaN.
Avatar billede neoo Nybegynder
13. februar 2004 - 16:36 #13
Temp_Amount = parseInt(AntalVoksenSalg)*((isNaN(VoksenSalg)?0:parseFloat(VoksenSalg))+(isNaN(VoksenSalg1)?0:parseFloat(VoksenSalg1)));

jeg har lige prøvet denne og den melder stadig NaN
Avatar billede neoo Nybegynder
13. februar 2004 - 16:49 #14
vil du se på hele scriptet ?
Avatar billede neoo Nybegynder
13. februar 2004 - 16:57 #15
ok, på denne måde virker det når man kalder "voksensalg" alene
men når man kalder på "voksensalg"(3500)  og "voksensalg1"(3500) visser den det som 35003500.

og når jeg prøver det her:
Temp_Amount = parseInt(AntalVoksenSalg)*(parseFloat(VoksenSalg)+parseFloat(VoksenSalg1));
så virker den når jeg kalder begge ("voksensalg"(3500)  og "voksensalg1"(3500))
og visser det som 7000 som den skal. Men hvis jeg med det her kode kalder "voksensalg alene så virker det ikke ?
Avatar billede neoo Nybegynder
13. februar 2004 - 20:43 #16
er der ikke andet ting man kan skrive ?
Avatar billede mm12010 Nybegynder
14. februar 2004 - 10:58 #17
prøv at smide hele koden
Avatar billede mm12010 Nybegynder
14. februar 2004 - 11:31 #18
eller endnu bedre: har du et link til siden?
Avatar billede mm12010 Nybegynder
14. februar 2004 - 16:00 #19
btw så betyder NaN: 'Not a Number'
Avatar billede neoo Nybegynder
15. februar 2004 - 00:30 #20
Jeg har pakket det ind som rar fil. den fil hvor der er problemmer hedder opretbooking.asp men der er det er javascriptet som fejler.

www.boperfekt.dk/bookings.rar
Avatar billede mm12010 Nybegynder
17. februar 2004 - 12:56 #21
hvad er det jeg skal gøre for at få den til at fejle?
Avatar billede neoo Nybegynder
16. marts 2004 - 00:15 #22
har rettet tingene.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester