Jag har gjort ett helt vanligt script, men det funkar dåligt i NS. Kan man göra så att det funkar i NS? Jag menar det är ju vanliga "om checkboxen är ikryssad så".
Kan nån kolla på mitt script och säga mig vad som kan vara fel? Eller om man kan skriva det så att det funkar även i NS?
P.S
Det funkar perfekt i Explorer!
<script language="JavaScript">
function validateform2()
{
if (document.myform.avbetalning.checked && document.myform.persnr.value=="")
{
alert("Du har valt att köpa datorn på avbetalning, därmed behöver vi ditt personnummer var god och fyll i det.")
return false
}
else
if (document.myform.avbetalning.checked && "249" <= 6000)
{
alert("För att du skall kunna köpa på avbetalning krävs att du handlar för minst 6000kr inkl moms.")
return false
}
else
if (document.myform.avbetalning.checked && document.myform.kort.checked)
{
alert("Betalnings sätten krockar!\n\nSe till att du endast väljet ett betal sätt.")
return false
}
else
if (document.myform.kort.checked && document.myform.betvidlev.checked)
{
alert("Betalnings sätten krockar!\n\nSe till att du endast väljet ett betal sätt.")
return false
}
else
if (document.myform.betvidlev.checked && document.myform.avbetalning.checked)
{
alert("Betalnings sätten krockar!\n\nSe till att du endast väljet ett betal sätt.")
return false
}
else
if (document.myform.kort.checked)
{
alert("Vå utvecklar just nu datorköp med kort via internet, undertiden kan du betala kontant eller via avbetalning.\n\nTack!")
return false
}
else
if (document.myform.betvidlev.checked | | document.myform.avbetalning.checked | | document.myform.kort.checked)
{
return true
}
else
{
alert("Du måste ange betalnings sätt!")
return false
}
}
</script>
Jag ser inte just nu vad som är fel, men varför har du checkboxar till betalningssätten? Eftersom man måste välja ett sätt, och endast ett sätt, är det ju radioknappar som gäller.
Vad gör villkoret
....."249" <= 6000
?
"249" är ju en literal.
Vid sidan om detta kan du väl ta och korra stavningen lite, innan du lägger ut den.
mvh
------------------
----------------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB
Norrköping
lägg i någon vara i din varukorg, registrera dig, logga in. Och sen ser du sidan.
Det är väldigt sant det du säger, det är klart att det skall vara radioknappar. Ibland är man låst på det man gör :)
Jag skall ha 3 radioknappar och 1 checkknapp, men det borde ju gå att göra ett litet script där att om checkboxen inte är i kryssad så skall den inte gå igenom.
Tack för dina kommentarer, det verkar fint faktiskt, jag har nu gjort så här:
<script language="JavaScript">
function validateform()
{ if (document.myform.avtal.checked)
{
return true
}
else
{
alert("Du måste acceptera våra avtal för att vi skall kunna processera ordern.")
return false
}
}
</script>
[kod]
[kod]
<script language="JavaScript">
function validateform2()
{
if (document.myform.betsatt[2].checked)
{
alert("Vi utvecklar just nu datorköp med kort via internet. Under tiden kan du betala kontant eller via avbetalning.\n\nTack!")
return false
}
else
var subtot=parseInt("<%= FormatNumber(SubTotalinkl+100,0) %>");
if (document.myform.betsatt[1].checked && subtot <= 6000)
{
alert("För att du skall kunna köpa på avbetalning krävs att du handlar för minst 6000kr inkl moms.")
return false
}
else
if (document.myform.betsatt[1].checked && document.myform.persnr.value=="")
{
alert("Du har valt att köpa datorn på avbetalning. Därmed behöver vi ditt personnummer. Var god och fyll i det.")
return false
}
else
{
return true
}
}
</script>
Men det som du skrev om parseInt, fungerar inte så bra.
Med tanke på att jag skriver överst på min ASP sida följande: <%Session.LCID = 1053%>
Så formaterar den siffrorna till tex 9 803 och när den då jämnför om 9 803 <= 6000 så tror den antagligen att det är 9,8 eller nått sånt så hur löser jag detta nu?
Min jämförelse som jag hade innan har fungerat perfekt, borde ju kunna köra med den?
Netscape gillar inte att göra en "validateform" när man trycker på knappen, så jag la in allting i ett å samma script så här:
<script language="JavaScript">
function validateform()
{
if (document.myform.betsatt[2].checked)
{
alert("Vi utvecklar just nu datorköp med kort via internet. Under tiden kan du betala kontant eller via avbetalning.\n\nTack!")
return false
}
else
var subtot=parseInt("<%= FormatNumber(SubTotalinkl+100,0) %>");
if (document.myform.betsatt[1].checked && subtot <= 6000)
{
alert("För att du skall kunna köpa på avbetalning krävs att du handlar för minst 6000kr inkl moms.")
return false
}
else
if (document.myform.betsatt[1].checked && document.myform.persnr.value=="")
{
alert("Du har valt att köpa datorn på avbetalning. Därmed behöver vi ditt personnummer. Var god och fyll i det.")
return false
}
else
if (document.myform.avtal.checked)
{
return true
}
else
{
alert("Du måste acceptera våra avtal för att vi skall kunna processera ordern.")
return false
}
}
</script>
Så nu funkar validaten även i Netscape :) Det är ju bra tycker jag :)
Hittar ni nått i koden ni tycker är dåligt, eller nått annat som ni vill klaga på så säg till! Jag är mycket tacksam för kommentarer!