kolla flera formulärfält på samma gång?

JavaScript

5 svar · 202 visningar · startad av Lina

Medlem sedan jan. 2001332 inlägg
Trådstart#1

Tjenare....
Skall kolla ett formulär jag har så att det inte innehåller en massa '

Måste jag göra en koll på varje fält eller kan man på något sätt kolla alla fälten på samma gång?

Har massa fält för olika saker.. förnamn, efternamn, adress, mail, lösenord mm...

Medlem sedan juni 20008 205 inlägg
#2

Det går så bra så. Du kan ha en funktion som ser ut så här...

function ingaFnuttar(fields){
for (var i in fields)
if (fields[i].value.indexOf("'") != -1) // ett av fälten innehållet en enkelfnutt
return false;
return true; // Hit når vi bara om inga fnuttar påträffats
}

Sen anropas det ungefär så här...

<form blaha-blaha onsubmit="
// Skapa en array med fälten som ska kollas
var fieldsToCheck = [this.email, this.fnamn, this.enamn, this.adress, this.losenord];
// Kolla fälten
ingaFnuttar();
">
<input type="text" name="fnamn"> förnamn <br>
<input type="text" name="enamn"> efternamn <br>
<input type="text" name="email"> email <br>
<input type="text" name="adress"> adress <br>
<input type="text" name="losenord"> lösen <br>
</form>

Alltså, du skapar en array av de fält du vill kolla, och sen bara loopar du genom den arrayen.
Sen antar jag att du vill undvika enkelfnuttar pga konflikter med sql-satserna på mottagarsidan? Det vore bättre att "quota" fnuttarna i sådana fall...

Medlem sedan jan. 2001332 inlägg
#3

oki....
Den lösningen verkar värd att testa...

Men vad menar du med att "quota" fnuttarna??? Det ska ju inte ligga några fnuttar här alls....
Är det inte bättre att dom inte ens skall kunna lägga in dom då?

Medlem sedan juni 20008 205 inlägg
#4

Det beror helt och hållet på vad du ska ha i databasen, du vet förstås bäst. Vad jag menade var att en fnutt inte behöver göra hela världen kajko, utan de går att "quotas". Vill du stoppa in en sträng med enkelfnuttar kan du göra på två vis...

INSERT INTO tabell VALUES ('Detta är \'en\' sträng med fnuttar.'); [i]Vanligast i t.ex. MySQL[/i]
INSERT INTO tabell VALUES ('Detta är ''en'' sträng med fnuttar.') [i]Vanligast på SQL Server/Access, men funkar även i MySQL[/i]

Men som sagt, ska det inte vara några fnuttar så ska det inte, tänkte bara tipsa :)

Medlem sedan jan. 2001332 inlägg
#5

Aha...
Då fattar jag vad du menar....

Men jag vill helt enkelt inte att användaren skall kunna lägga in konstiga tecken där eftersom dessa uppgifter skall användas för systemadministratören (mig + mina kollegor) att komma i kontakt med medlemmarna...
Dessutom har medlemmarna redan försökt lägga in diverse html-kod i dessa fält så nu måste jag säkra dessa buggar.

Jag vill helt enkelt inte ha nån schräpkåd i systemet...
:e

Medlem sedan juni 20008 205 inlägg
#6

OK, OK, you're the man :)

268 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
136 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)