ampyMedlem sedan feb. 20011 498 inlägg Här är min kod:
<script language="javascript">
function check(formobj){
if(formobj.satsa.value.length==0){
alert('Du måste ange hur mycket du vill satsa.');
return false;
} else if (parseInt(document.form1.satsa.value)==document.form1.satsa.value){
alert('Du får endast skriva i siffror.');
return false;
} else {
return true;
}
}
</script>
<form name="form1" method="post" action="affaren.asp?vad=spela#ner" onsubmit="return check(this)">
Är det något jag har skrivit fel eller?
SPiNMedlem sedan mars 20007 896 inlägg Följande rad:
} else if (parseInt(document.form1.satsa.value)==document.form1.satsa.value){
kan nog inte se ut så, jämför man en integer mot en sträng så blir resultatet alltid false. Testa med följande istället:
} else if ( ( parseInt(document.form1.satsa.value) + "" ) == document.form1.satsa.value ){
ampyMedlem sedan feb. 20011 498 inlägg Får ändå en varning när jag bara skriver siffror.
SPiNMedlem sedan mars 20007 896 inlägg if(formobj.satsa.value.length==0)
->
if(document.formobj.satsa.value.length==0)
:q
ampyMedlem sedan feb. 20011 498 inlägg Då funkar ingen av funktionerna, alltså den varnar inte om jag lämnar fältet tomt eller om jag skriver tecken som inte är siffror.
ampyMedlem sedan feb. 20011 498 inlägg Ingen som vet vad felet kan vara?
JaarMedlem sedan juli 2001434 inlägg Här får du svaret
<script language="javascript">
function isDigit(c)
{
return ((c >= "0") && (c <= "9"));
}
function isEmpty(s)
{
return ((s == null) || (s.length == 0));
}
function isInteger(s)
{
if (isEmpty(s))
{
return false;
}
for (i = 0; i < s.length; i++)
{
// Check that current character is number.
var c = s.charAt(i);
if (!isDigit(c))
{
return false;
}
}
return true;
}
function check()
{
if(!isInteger(document.test.satsa.value))
{
//OBS! Skrivs även om fältet är tomt
alert("Du får endast skriva i siffror");
return false;
}
else
{
return true;
}
}
</script>
<form name="test">
Skriv här : <input name="satsa">
<input type="submit" onclick="check()">
</form>