Avatar billede plaf Nybegynder
29. februar 2008 - 09:29 Der er 6 kommentarer og
1 løsning

Tjek formular for hele tal

Hvordan kan man tjekke om det indtastede svar i et formular-felt er et hel-tal - altså uden decimaler?

/Plaf
Avatar billede fennec Nybegynder
29. februar 2008 - 09:44 #1
Denne tjekker at der kun står tal:

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
function tjeckIT(fEle)
{
    if(!fEle.value.match(/[^\d]/g) && fEle.value.length > 0)
        alert('true')
    else
        alert('false')
}
//-->
</SCRIPT>
<form name="myForm" method="post" action="">
<input type="Text" name="tal" value="">
<input type="Button" value="Tjek" onClick="tjeckIT(this.form.tal);return false;">
</form>
Avatar billede plaf Nybegynder
29. februar 2008 - 09:53 #2
Det virker :-)

Skriv et svar, så får du point.

/Plaf
Avatar billede plaf Nybegynder
29. februar 2008 - 10:10 #3
Men det her virker ikke... Nogen forklaring?

<script language="javascript">function formValidation() {
if (document.FORM.customer.value.length < 5) {
alert("Feltet Booking. skal udfyldes. Er du i tvivl om hvor du finder dette - klik på ? Hjælp");
FORM.customer.focus();
return false;
}
if (document.FORM.orderid.value.length < 3) {
alert("Feltet Kunde nr. skal udfyldes. Er du i tvivl om hvor du finder dette - klik på ? Hjælp");
FORM.orderid.focus(); 
return false;

if (document.FORM.Name.value.length < 6) {
alert("Feltet Navn skal udfyldes.");
FORM.Name.focus();
return false;
}
if (document.FORM.Phone.value.length < 8) {
alert("Feltet Telefon dagtid skal udfyldes. Husk at opgive det telefonnummer som du kan træffes på i dagtimerne.");
FORM.Phone.focus();
return false;
}
if (document.FORM.Email.value.indexOf('@', 0) == -1 || document.FORM.Email.value.indexOf('.', 0) == -1) {
alert("Feltet E-mail skal udfyldes med en gyldig e-mail adresse, da vi seder din kvittering til denne adresse.");
FORM.Email.focus();
return false;
}
if(!document.FORM.total.value.match(/[^\d]/g) || document.FORM.total.value.length < 1) {
alert("2Beløbsfeltet er ikke udfyldt korrekt. Indtast kun hele tal uden decimaler, komma eller punktum. Ved decimaler rundes ned til nærmeste hele tal.");
FORM.total.focus();
return false;
}
return true;
}

</script>


Det virker for alle de andre felter - bare ikke beløbs-feltet...

/Plaf
Avatar billede fennec Nybegynder
29. februar 2008 - 10:24 #4
Matchen rammer true da der er ! foran. Så den skal fjernes:

if(document.FORM.total.value.match(/[^\d]/g) || document.FORM.total.value.length < 1)
Avatar billede fennec Nybegynder
29. februar 2008 - 10:25 #5
.o) <-- One Eyed Jack
Avatar billede plaf Nybegynder
29. februar 2008 - 10:30 #6
Jubiiii - tark!

/Plaf
Avatar billede roenving Novice
29. februar 2008 - 14:43 #7
-- men du kan da nøjes med:

if(!document.FORM.total.value.match(/^\d+$/))

-- hvor selve regexpen checker at der er mindst et tal !-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester