webForumDet fria alternativet

Förbjudna tecken

JavaScript

6 svar · 234 visningar · startad av magnusfeldth

Medlem sedan jan. 20034 480 inlägg
Frågan#1

Jag vill kolla om ett inputfält innehåller förbjudna tecken innan sidan går vidare och processerar informationen. Jag sökte här i forumet och hittade denna koden:

function checkAllowedChar(str) {
	var re = /[a-z]|[0-9]|\-|\_/i;
	var res = 0;
	for(n=0;n<str.length;n++){ if(str.substring(n,n+1).search(re)) res++ }
	return (res>0) ? false:true;
}

if(checkAllowedChar('tjoohoo')){
	// Det var ok.
} else {
	// Det var fel.
}

Men hur ska jag skriva för att den ska kolla just det inputfältet med namnet "anvandarnamn"?

Medlem sedan juni 20004 308 inlägg
#2
<form onsubmit="if(checkAllowedChar(this.anvandarnamn.value)){ return true; }else{ alert('Fel...'); return false; }" ...

Redigerat fel

Medlem sedan jan. 20034 480 inlägg
#3

Fick det inte att fungera, har funktionen enligt ovan och följande i form

<form method="POST" onsubmit="if(checkAllowedChar(this.form.anvandarnamn.value){ return true; }else{ alert('Fel...'); return false; }" action="nystudentuser.asp?do=skapa">

<input type="text" id="anvandarnamn" name="Anvandarnamn" ... >

Vad är felet?

Medlem sedan juni 200032 967 inlägg
#4

Till att börja med, om du nu ska ha både id och name på ett formulärfält, se till att de är samma. Anvandarnamn är icke samma som anvandarnamn.

mvh

Medlem sedan jan. 20034 480 inlägg
#5

Har testat med bara id=anvandarnamn, bara name=anvandarnamn, och båda två... funkar fortfarande inte...
(har justerat den stora bokstaven i name)

Medlem sedan juni 20004 308 inlägg
#6

Jag skrev lite fel. ".form" skall bort och sedan saknades det ett ")". Prova nu.

Medlem sedan jan. 20034 480 inlägg
#7

Tack! Nu funkar det!

256 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)