Just nu i M3-nätverket
Gå till innehåll

Javascript formulär


sassabrassa

Rekommendera Poster

Hej undrar om det finns ngn duktig på JavaScript som förstår och på ett enkelt sätt kan förklara detta script för mig. Jag vet vad det gör givetvis, men vissa saker t.ex. epostkollarna förstår jag inte syftet med! Jag får också ett felmeddelande som säger att epostkoll3 inte är definierad men scriptet funkar utan problem.

 

Script:

function bokstavkoll(str){

var index;

str=str.toLowerCase();

for(index=0;index<str.length;++index)

if('abcdefghijklmnopqrstuvxyzåäö- '.indexOf(str.substring(index, index+1))==-1)

return false;

return true;

}

 

function sifferkoll(str){

var index;

for(index=0;index<str.length;++index)

if('0123456789- '.indexOf(str.substring(index, index+1))==-1)

return false;

return true;

}

 

function checkEpost(){

var epostKoll=this.f1.epost.value.indexOf('@', 1);

var epostKoll2=this.f1.epost.value.indexOf('.', epostKoll+2);

 

if(epostKoll==-1 || epostKoll2==-1 || epostKoll3==-1){

 

return false;

return true;

}

 

}

 

 

function checkForm(f1){

if(f1.namn1.value.length==0){

alert("Skriv ditt förnamn!");

f1.namn1.focus();

}

 

else if(!bokstavkoll(f1.namn1.value)){

alert("Förnamnet kan inte innehålla siffror!");

f1.namn1.focus();

}

 

else if(f1.namn2.value.length==0){

alert("Skriv ditt efternamn!");

f1.namn2.focus();

}

 

else if(!bokstavkoll(f1.namn2.value)){

alert("Efternamnet kan inte innehålla siffror!");

f1.namn2.focus();

}

 

else if(f1.telnr.value.length==0){

alert("Skriv ditt telefonnummer!");

f1.telnr.focus();

}

 

else if(!sifferkoll(f1.telnr.value)){

alert("Telefonnumret kan inte innehålla \n några bokstäver!");

f1.telnr.focus();

}

 

else if(f1.epost.value==0){

alert("Skriv din epostadress!");

f1.epost.focus();

}

 

else if(!checkEpost(f1.epost.value)){

alert("Du har angett en \n felaktig epostadress!");

f1.epost.focus();

}

 

else

return true;

return false;

 

 

}

Tack på förhand!

Länk till kommentar
Dela på andra webbplatser

Funktionen bokstavkoll kontrollerar om strängen str bara innehåller de bokstäver och tecken som radas upp i if-satsen.

 

Funktionen sifferkoll kontrollerar att strängen str bara innehåller de siffror och tecken som anges i if-satsen.

 

Funktionen CheckEpost kontrollerar om textsträngen i fältet f1.epost kan tänkas innehålla en epostadress.

var epostKoll=this.f1.epost.value.indexOf('@', 1);

letar upp @, om det saknas blir epostKoll==-1.

var epostKoll2=this.f1.epost.value.indexOf('.', epostKoll+2);

letar efter en punkt minst två tecken efter @. Om punkten saknas blir epostKoll2==-1.

Det är i if-satsen efter detta som epostKoll3 är överflödig. Ändra raden till

if(epostKoll==-1 || epostKoll2==-1 ){

så ska du slippa felmeddelandet. Antar att du har tappat bort en rad efter epostKoll2 där epostKoll3 skulle skapas med en ytterliggare kontroll av strängen för att försöka avgöra om det är en giltig epostadress.

 

Funktionen CheckForm går helt enkelt igenom formuläret och kontrollerar att alla fält är ifyllda på rätt sätt.

 

 

:thumbsup:Poäng till bra inlägg!

---------------------------------

Teknikens underbara värld

http://www.elektroteknik.net

---------------------------------

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...