Jag tror det har att göra med att textboxarnas innehåll tolkas som text, även när de innehåller siffror.
Bör funka med parseInt.
(parseInt(document.CardForm.fldLastCard.value) < parseInt(document.CardForm.fldFirstCard.value))
4 svar · 229 visningar · startad av TainEvil
Tjohopp!
Har fastnat i ett litet problem som jag inte förstår, förmodligen för att man är helt kass på js.
Jag har ett formulär med två fält för inmatning av värden. Jag vill helt enkelt kontrollera att det andra värdet inte är mindre än det första. Den del av js-koden som ska kontrollera detta ser ut enligt nedan.
...
else if (document.CardForm.fldLastCard.value < document.CardForm.fldFirstCard.value)
{
alert("<%=strErrLowLastCard%>")
return false;
}
...
Detta fungera bra så lägen talen består av samma antal siffror. Dvs om tal1=110 och tal2=105 så får jag en varning, men om tal1=998 och tal2=1002, så tycker den ändå att tal2 är mindre än tal1... Vad är galet??
Jag tror det har att göra med att textboxarnas innehåll tolkas som text, även när de innehåller siffror.
Bör funka med parseInt.
(parseInt(document.CardForm.fldLastCard.value) < parseInt(document.CardForm.fldFirstCard.value))
Konvertera om värdet från string till integer så borde det funka..
// Konvertering vid anropet
var intLastCard = document.CardForm.fldLastCard.value;
var intFirstCard = document.CardForm.fldFirstCard.value;
// Sedan detta istället
else if (intLastCard < intFirstCard)
{
alert("<%=strErrLowLastCard%>")
return false;
}
Hoppsan.. där var jag lite sent ute.. :r ;)