webForumDet fria alternativet

varnar ändå om jag bara skriver siffror

6 svar · 202 visningar · startad av ampy

ampyMedlem sedan feb. 20011 498 inlägg
#1

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
#2

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
#3

Får ändå en varning när jag bara skriver siffror.

SPiNMedlem sedan mars 20007 896 inlägg
#4

if(formobj.satsa.value.length==0)
->
if(document.formobj.satsa.value.length==0)
:q

ampyMedlem sedan feb. 20011 498 inlägg
#5

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
#6

Ingen som vet vad felet kan vara?

JaarMedlem sedan juli 2001434 inlägg
#7

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>
267 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
127 ms — hämta forumlista (db)
132 ms — hämta statistik (db)
133 ms — hämta tråd, inlägg och bilagor (db)