Avatar billede martin_moth Mester
22. april 2003 - 23:38 Der er 6 kommentarer og
1 løsning

Valider felter - og send email via asp

Dette er et javascript / asp problem, men da jeg pt. har størst problemer med javascript, skriver jeg i denne kategori

Jeg har en side "submit.asp" - deri skal udfyldes nogle felter (forename og lastname), hvorefter der trykkes på en knap. Når knappen trykkes, skal textfelterne valideres, og er det OK, skal der udføres noget vbscript på siden, der sender en email osv.

Altsammen har jeg næsten(!) styr på. Jeg vil bruge onclick på min form til at kalde en javascript funktion valider(), der tjekker om felterne er udfyldt. Er de ikke det, går jeg ud fra at der ikke bliver submittet noget - er det korrekt? Hvis der er udfyldt, bliver siden submittet, og jeg kan hente de værdier der blev udfyldt med min asp-kode med request.form, sende en email, og lukke vinduet.

Mine 2 spørgsmål:

1) Er ovenstående fremgangsmåde korrekt- kan det lade sig gøre? Har ikke helt styr på hvornår hvad sker osv.

2) Hvorfor virker min valideringskode ikke?

Min Submit.asp side:

<HTML>
<HEAD>

<script language="javascript">
  function valider(){
  if (document.forms[0].forename.length==0) {
    alert("Husk at angive fornavn");
    return false;
    };

  if (document.forms[0].lastname.length==0) {
    alert("Husk at angive efternavn");
    return false;
    };

  return true;
  };
 
  function LukDetteVidnue(){
    self.close;
  }; 
</script>


</HEAD>
<BODY>


<form action="subscribe.asp" method="post" onsubmit="return valider()">
Fornavn<input type="text" name="forename" size="30" maxlength="50"><br />
Efternavn<input type="text" name="lastname" size="30" maxlength="75"><br />
<input type="submit" value="Send data">
</form>

<%
  Dim forename
  Dim lastname
  forename=Request.Form("forename")
  lastname=Request.Form("lastname")
  If forename<>"" Then
    If lastname<>"" Then
      'Send en email - denne kode skal jeg lave senere
      call LukDetteVindue
    End If
  End If
   
%>
</BODY>
</HTML>
Avatar billede erikjacobsen Ekspert
22. april 2003 - 23:40 #1
if (document.forms[0].forename.value.length==0) {
Avatar billede martin_moth Mester
22. april 2003 - 23:48 #2
Godt - nu virker 2) - og dermed behøver jeg ikke svar på 1), for det virker upåklageligt nu.

Sikke en smøre at skrive, bare for at få en valideringsfunktion til at du ;o)

Smid et svar, erikjakobsen
Avatar billede martin_moth Mester
22. april 2003 - 23:49 #3
PS: Hvis jeg nu kun ville tillade TAL indtastet i lastname - har du et hurtigt bud på det, eller skal jeg bruge søgefunktiionen...
Avatar billede erikjacobsen Ekspert
22. april 2003 - 23:51 #4
Hvad forstår du ved tal?  Kun cifre? Fortegn + cifre? Kommatal med fortegn?
Foranstillede 0-er? Max størrelse?
Avatar billede martin_moth Mester
22. april 2003 - 23:57 #5
Jeg mener at der kun må indtastes 4-cifrede tal (tal mellem 1000 og 9999) - men jeg har fundet løsningen på http://www.w3schools.com/js/tryit.asp?filename=tryjs_value

Smid et svar, og du får points
Avatar billede erikjacobsen Ekspert
23. april 2003 - 00:02 #6
Ok. Men ingen point til mig - jeg samler ikke på dem.
Avatar billede martin_moth Mester
23. april 2003 - 00:06 #7
ok - så napper jeg dem selv - tak for at du fandt fejlen
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