webForumDet fria alternativet

kontrollera att fältet innåller siffror

JavaScriptur Javascript

10 svar · 591 visningar · startad av annasmurf

Medlem sedan mars 2006237 inlägg
Frågan#1

Hej!

Jag har gjort en kontroll att fältet inte är tom, men hur gör jag om man vill att fältet bara ska tillåta siffror i bokningsnr?

function CheckForm () { 
//Initiera variabler
var errorMsg = "";
 //Kontrollera namn
if ((document.frmEnquiry.namn.value == "")) { 
errorMsg += "\n- Ange ditt namn";
}
//Kontrollera boknnummer
if ((document.frmEnquiry.bokningsnr.value == "")) { 
errorMsg += "\n- Ange ditt bokningsnummer";
}
  	//error msg om det är problem i formuläret
	if (errorMsg != ""){
		msg = "______________________________________________________________\n\n";
		msg += "Ditt .\n";
		msg += "Vargod och korrigera .\n";
		msg += "______________________________________________________________\n\n";
		msg += "Följande problem måste korrigeras: \n";
		
		errorMsg += alert(msg + errorMsg + "\n\n");
		return false;
	}
	
	return true;
}
Medlem sedan dec. 200012 464 inlägg
#2

flyttas från ASP

Medlem sedan apr. 20031 660 inlägg
#3

HEJ!

Du kan använda dig av isNaN.
http://www.devguru.com/technologies/JavaScript/11462.asp

Medlem sedan mars 2006237 inlägg
#4

ingen annan som har något förslag???

Medlem sedan dec. 20025 483 inlägg
#5

Hej!

Fungerar inte ovan nämnda förslag? Om så, varför inte? Är det något speciellt format på bokningsnumret?

Medlem sedan mars 2006237 inlägg
#6

nä, men jag vet inte om jag gjort rätt jag har gjort så här och då kommer detta

		<SCRIPT language="JavaScript">			
			//Kontrollera så att formuläret är korrekt ifyllt
function CheckForm () { 
	
	//Initiera variabler
	var errorMsg = "";
	
     //Kontrollera namn
	if ((document.frmEnquiry.namn.value == "")) { 
		errorMsg += "\n- Ange ditt namn";
	}
	
	//Kontrollera boknnummer
	if ((document.frmEnquiry.bokningsnr.value == "") && (document.write(isNaN("bokningsnr"))) { 
		errorMsg += "\n- Ange ditt bokningsnummer";
	}
	//error msg om det är problem i formuläret
	if (errorMsg != ""){
		msg = "______________________________________________________________\n\n";
		msg += "Ditt accepterande har inte sänts på grund av problem i formuläret.\n";
		msg += "Vargod och korrigera problemen och tryck sedan på Skicka igen.\n";
		msg += "______________________________________________________________\n\n";
		msg += "Följande problem måste korrigeras: \n";
		
		errorMsg += alert(msg + errorMsg + "\n\n");
		return false;
	}
	
	return true;
}
			</SCRIPT>

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the varchar value 't' to a column of data type int.

/anna/acceptskicka2.asp, line 17

jag vill ju att man ska få upp en ruta där det står att du måste ange ditt bokningnummer rätt och inte sen när du tryckt sen och få åvanstående medelande....

Medlem sedan juni 200032 969 inlägg
#7

Varför har du blandat in document.write i din if-sats? Ta bort.
I första delen av ifsatsen har du document.frmEnquiry.bokningsnr.value, det är samma värde du ska köra isNaN på.

Medlem sedan mars 2006237 inlägg
#8

menar du så här:
//Kontrollera boknnummer
if ((document.frmEnquiry.bokningsnr.value == "") && (document.frmEnquiry.bokningsnr.value(isNaN("bokningsnr"))) {
errorMsg += "\n- Ange ditt bokningsnummer";
}
???

Medlem sedan juni 200032 969 inlägg
#9

nej...

isNaN(document.frmEnquiry.bokningsnr.value)
Medlem sedan mars 2006237 inlägg
#10

//Kontrollera boknnummer
if ((document.frmEnquiry.bokningsnr.value == "") && (isNaN(document.frmEnquiry.bokningsnr.value))) {
errorMsg += "\n- Ange ditt bokningsnummer";
}

det blir inte rätt ändå säger inget alls nu i rutan om bokningsnummer, är det bara fel på paranteser eller vadå?

Medlem sedan juni 200032 969 inlägg
#11

Du ska inte använda och, utan eller. Villkoret för rutan ska ju vara att antingen bokningsnummer-rutan ska vara tom, eller att den ska innehålla något som inte är ett tal. Byt till ||.

(Du har ett par onödiga parenteser, i min mening kan du lika gärna ta bort dem, de gör i mina ögon koden svårare att läsa. Du får också gärna posta kortare kodstycken inom [kod]-taggar...)

edit: eventuellt kan du droppa det första villkoret. Jag vet inte hur isNaN beter sig med ett tomt fält, men förhoppningsvis borde det då returnera true. Testa.

129 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)