Avatar billede helligsoe Nybegynder
07. februar 2001 - 12:38 Der er 7 kommentarer og
1 løsning

Kontroller formular

Jeg skal bruge et JavaScript der, i en form, checker at et e-mail felt er udfyldt og der er valgt blandt to radioknapper. Det skal virke sådan at når der trykkes på \"Send\" skal en JavaScript-advarsel vises hvis begge eller den ene af tingene mangler.
Avatar billede kee.... Nybegynder
07. februar 2001 - 12:56 #1
Noget ala det her?
<HTML>
<HEAD>
<TITLE>bla bla bla</TITLE>
<SCRIPT LANGUAGE=JAVASCRIPT>
<!--
function gyldigEmail(email) {
ugyldigeTegn = \" /:,;\"
           
if (email == \"\") {
return false
}
           
for (i=0; i<ugyldigeTegn.length; i++) {   
fejlTegn = ugyldigeTegn.charAt(i)
if (email.indexOf(fejlTegn,0) > -1) {
return false
}
}
           
paaPos = email.indexOf(\"@\",1)
if (paaPos == -1) {
return false
}
           
if (email.indexOf(\"@\",paaPos+1) != -1) {
return false
}
punktumPos = email.indexOf(\".\",paaPos)
           
if (punktumPos == -1) {
return false
}
           
if (punktumPos+3 > email.length)    {
return false
}
return true
}
       
function afsendelse(form) {               
       
doerValg = -1
for (i=0; i<form.DoerTal.length; i++) {
if (form.DoerTal[i].checked)
doerValg = i
}
if (doerValg == -1) {
alert(\"Du skal enten vælge 2 eller 4 døre\")
return false
}
           
if (!gyldigEmail(form.emailAdr.value)) {
alert(\"Ugyldig e-mail-adresse\")
form.emailAdr.focus()
form.emailAdr.select()
return false
}
           
return true
}
-->
</SCRIPT>
</HEAD>
<BODY>

<FORM onSubmit=\"return afsendelse(this)\" ACTION=\"nogetHandling.cgi\" NAME=minFormular>
<TABLE BORDER=0 CELLSPACING=8 CELLPADDING=8>
<TR>
<TD COLSPAN=2>
Din e-mail-adresse: <INPUT NAME=\"emailAdr\" TYPE=\"text\" SIZE=30>
</TD></TR>
<TR>
<TD NOWRAP>Døre:</TD>
<TD>
<INPUT TYPE=\"radio\" VALUE=\"toDoere\" NAME=\"DoerTal\">To
<INPUT TYPE=\"radio\" VALUE=\"fireDoere\" NAME=\"DoerTal\">Fire
</TD></TR>
<TR><TD COLSPAN=2>

<P><INPUT TYPE=\"submit\" VALUE=\"Indsend\">
<INPUT TYPE=\"reset\" VALUE=\"Nulstil\"></TD></TR></TABLE>
</FORM>
</BODY>
</HTML>
                                     
Avatar billede olebole Juniormester
07. februar 2001 - 13:36 #2
<ole>
Denne validering er nok en anelse mere elegant:

function afsendelse(form) {               
  doerValg = -1
  for (i=0; i<form.DoerTal.length; i++) {
    if (form.DoerTal[i].checked) {
      doerValg = i
    }
  }
  if (doerValg == -1) {
    alert(\"Du skal enten vælge 2 eller 4 døre\");
    return false;
  } else if (!document.form.mail.value.match(/^[^\\.]?[\\w\\.-]+@[^\\.]?[\\w\\.-]+\\.[A-Z]{2,3}$/i)) {
    alert(\'Tumpe...en RIGTIG email!!!...Dohhh...\');
    form.emailAdr.focus()
    return false;
  } else {
    return true;
  }
}

/mvh
</bole>
Avatar billede jakoba Nybegynder
07. februar 2001 - 14:46 #3
Pas på stavningen ole!  duh staves med u

SYLLABICATION: Duh 
INTERJECTION : Used to express disdain for something deemed stupid or obvious, especially a self-evident remark.     
ETYMOLOGY: Imitative of an utterance attributed to slow-witted people.

ifølge hobbez  spgm 48160 06/02 2001 12:41:35

mvh JakobA
Avatar billede helligsoe Nybegynder
07. februar 2001 - 23:13 #4
Til Kee....

Jeg kan ikke få dit script til at virke.
Testet her: http.//www.h-online.dk/test06.htm

Jeg har selv prøvet med et script klonet fra hæftet \"Start på JavaScript 1.2\", og her virker det på radioknapperne, men ikke på email-feltet. Og jeg fatter ikke hvad der er i vejen.
Test dette her: http.//www.h-online.dk/test04.htm

De fem \"input hiddden\" felter under form-tag\'et er nogen jeg har fra min host: A/S ScanNet.

Der er nu 60 point til den der kommer op med noget der virker - i praksis - på mit site.

Venlig hilsen Helge
Avatar billede olebole Juniormester
08. februar 2001 - 09:15 #5
function afsendelse(form) {               
  doerValg = -1
  for (i=0; i<form.DoerTal.length; i++) {
    if (form.DoerTal[i].checked == \"true\") {
      doerValg = i
    }
  }
  if (doerValg == -1) {
    alert(\"Du skal enten vælge 2 eller 4 døre\");
    return false;
  } else if (!document.form.mail.value.match(/^[^\\.]?[\\w\\.-]+@[^\\.]?[\\w\\.-]+\\.[A-Z]{2,3}$/i)) {
    alert(\'Tumpe...en RIGTIG email!!!...Duhhh...\');
    form.emailAdr.focus()
    return false;
  } else {
    return true;
  }
}

/mvh
Avatar billede kee.... Nybegynder
08. februar 2001 - 10:40 #6
Jeg kommer altså stadig krybende med mit laaaaaaaaange script *griner* igen... jeg har testet den, den virker...
<HTML>
<HEAD>
<TITLE>bla bla bla</TITLE>
<SCRIPT LANGUAGE=JAVASCRIPT>
<!--
function gyldigEmail(email) {
ugyldigeTegn = \" /:,;\"
           
if (email == \"\") {
return false
}
           
for (i=0; i<ugyldigeTegn.length; i++) {   
fejlTegn = ugyldigeTegn.charAt(i)
if (email.indexOf(fejlTegn,0) > -1) {
return false
}
}
           
paaPos = email.indexOf(\"@\",1)
if (paaPos == -1) {
return false
}
           
if (email.indexOf(\"@\",paaPos+1) != -1) {
return false
}
punktumPos = email.indexOf(\".\",paaPos)
           
if (punktumPos == -1) {
return false
}
           
if (punktumPos+3 > email.length)    {
return false
}
return true
}
       
function afsendelse(form) {               
       
doerValg = -1
for (i=0; i<form.DoerTal.length; i++) {
if (form.DoerTal[i].checked)
doerValg = i
}
if (doerValg == -1) {
alert(\"Du skal vælge et punkt\")
return false
}
           
if (!gyldigEmail(form.emailAdr.value)) {
alert(\"Ugyldig e-mail-adresse\")
form.emailAdr.focus()
form.emailAdr.select()
return false
}
           
return true
}
-->
</SCRIPT>
</HEAD>
<BODY>

<form onSubmit=\"return afsendelse(this)\" action=\"http://scripts.scannet.dk/form2mail.asp\" method=\"post\" name=\"tilmeld\">
<input type=\"hidden\" name=\"recipient\" value=\"helge_helligsoe@email.dk\">
<input type=\"hidden\" name=\"subject\" value=\"Tilmeld\">
<input type=\"hidden\" name=\"redirect\" value=\"http://www.h-online.dk/tak.htm\">
<input type=\"hidden\" name=\"return_link_url\" value=\"http://www.h-online.dk/tak.htm\">
<input type=\"hidden\" name=\"Sort\" value=\"order:Radioknap,Tekstbox,Valgmenu\">
           
Skriv din email:<br>
<input name=\"emailAdr\" type=\"text\" size=\"30\"><br><br>
<input type=\"radio\" value=\"Tilmeld\" name=\"DoerTal\"> Tilmeld<br>
<input type=\"radio\" value=\"Afmeld\" name=\"DoerTal\"> Afmeld<br><br>
<input type=\"submit\" value=\"Send\">
</form></BODY>
</HTML>
Avatar billede helligsoe Nybegynder
09. februar 2001 - 00:07 #7
Okay kee...

Jeg må have lavet noget klamp da jeg satte scriptet sammen med formen selv. Som du rigtigt skriver virker lortet. Det var sgu da dejligt - og alle pointene værd!
Avatar billede kee.... Nybegynder
09. februar 2001 - 05:52 #8
Godt du kunne bruge det :0)
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