|
| Kontrol af pris med javascript Fra : Jørgen Müller |
Dato : 02-01-03 14:39 |
|
Hej Gruppe
På en asp formular tjekker jeg, om budet i frmBid.Bid er
større end budet gemt i databasen med følgende script
function VerifyData()
{
if (document.frmBid.Bid.value <= <%= varHighBid %>)
{
alert ("Du skal byde højere end " +
"<%= FormatCurrency(varHighBid) %>.");
return false;
}
else
return true;
}
og det virker fint med hele tal, men gemmer jeg et bud på kr 1,50 kan jeg
ikke byde højere for scriptet?
document.frmBid.Bid.Value indeholder det tal jeg taster ind, men
sammenligningen
1,50 <= 2,75 siger at tallet 2,75 ikke er større end 1,50?
Nogen der kan hjælpe - har ikke en pind forstand på javascript.
--
Med Venlig Hilsen
Jørgen Müller
| |
Lasse Reichstein Nie~ (02-01-2003)
| Kommentar Fra : Lasse Reichstein Nie~ |
Dato : 02-01-03 15:39 |
|
"Jørgen Müller" <j.muller@mail.tele.dk> writes:
> document.frmBid.Bid.Value indeholder det tal jeg taster ind, men
> sammenligningen
> 1,50 <= 2,75 siger at tallet 2,75 ikke er større end 1,50?
> Nogen der kan hjælpe - har ikke en pind forstand på javascript.
Jeg ved ikke om det vil hjælper, men document.frmBid.Bid.value er en
streng, ikke et tal. Prøv at lave det om til et tal med parseFloat, fx
(med min foretrukne notation):
if (parseFloat(document.forms["frmBid"]["Bid"].value) <= ...
Du skriver i øvrigt konsekvent 1,50 og 2,75 med *komma* (dansk
decimalkomma). Javascript forventer sine flydendetalskonstanter
med engelske decimaladskiller, altså punktum.
F.eks. er værdien af udtrykket
1,50 <= 2,75
ikke true som man måske ville tro, men tallet 75. Hvis du eller din
ASP skriver tal med komma, så kan det også være grunden til problemet.
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
'Faith without judgement merely degrades the spirit divine.'
| |
Jørgen Müller (02-01-2003)
| Kommentar Fra : Jørgen Müller |
Dato : 02-01-03 17:05 |
|
Lasse skrev
> if (parseFloat(document.forms["frmBid"]["Bid"].value) <= ...
Den er bedre end ingenting for nu skal man byde i hele kr. så det var en
stor hjælp
>Du skriver i øvrigt konsekvent 1,50 og 2,75 med *komma* (dansk
>decimalkomma). Javascript forventer sine flydendetalskonstanter
>med engelske decimaladskiller, altså punktum.
>F.eks. er værdien af udtrykket
>1,50 <= 2,75
>ikke true som man måske ville tro, men tallet 75. Hvis du eller din
>ASP skriver tal med komma, så kan det også være grunden til problemet.
Det hele kører på MSSQL og den har jeg ikke adgang til på serveren, men
når jeg trækker tallene er de formateret, selv om jeg i visningen bruger en
FormatCurrency på visningen. Har prøvet at skrive 1.50 så kom det ud som
150 kr. så den kører afgjort med danske kr. hvor den også skal bruges.
Takker mange gange for hjælpen.
--
Med Venlig Hilsen
Jørgen Müller
| |
|
|