Avatar billede duno Nybegynder
17. maj 2004 - 20:37 Der er 11 kommentarer og
1 løsning

Valider felter

Hej jeg skal sikre mig at mine brugere ufylder følgende felter inden indholdet sendes til databasen

fornavn
overskrift
indlaeg

jeg har prøvet følgende kode, men det virker ikke somom det har nogen synlig effekt


<script type="text/javascript">
  function valider(f){
    if(f.fornavn.value==""){
      alert("navn skal udfyldes.");
      f.fornavn.select();
      f.fornavn.focus();
      return false;
    }
    if(f.Brugernavn.value==""){
      alert("Brugernavn skal udfyldes");
      f.Brugernavn.select();
      f.Brugernavn.focus();
      return false;
    }
    if(f.overskrift.value==""){
      alert("Din besked mangler en overskrift");
      f.overskrift.select();
      f.overskrift.focus();
      return false;
    }
    return true;
  }
</script>

og så naturligvis en

onSubmit="return valider(this)" i <body>
Avatar billede thesurfer Nybegynder
17. maj 2004 - 20:58 #1
Dette spm er oprettet i ASP kategorien.. skal det laves om til ASP kode?

Hvis nej, flyt venligst spm'et til kategorien:

java script: http://www.eksperten.dk/spm/Programmering/Script/JavaScript/

Du flytter et spm ved at:
1) lægge et svar
2) markere dit navn  <-- MEGET VIGTIGT!!
3) klikke på Accepter-knappen

Husk at check om dit svar er accepteret, inden du går videre.

- Hvis alt er i orden, opretter du samme spm, bare i den rette kategori.
- Læg et link i dette spm, der peger på det nye spm, så folk kan finde det.
Avatar billede duno Nybegynder
17. maj 2004 - 21:20 #2
TheSurfer.. er det nu dig igen ""GG""

Jamen er det ikke relevant at vide at det er lavet i asp, skal jeg så igen oprette spørgsmålet under javascript, og derefter henvise til at jeg bruger asp??

Grunden til at jeg lægger det i denne kategori er at, den fejlmeddelelse jeg modtager når jeg tester min ikke fungerende kode er en asp kode..

men ok ok.. skal nok rette mig ind i geledet igen.. ""GG""

Hilsen

Duno
Avatar billede thesurfer Nybegynder
17. maj 2004 - 21:28 #3
hehehe.. tja, jeg er lidt over det hele :-)

Koden du bruger der er ren JavaScript.. der er ikke skyggen af ASP, hvilket er grunden til at jeg foreslog JavaScript kategorien..

JavaScript validering kan brugeren pille ved, ved at downloade formen, og redigere i koden.

Den sikreste form for validering, sker på serversiden. F.eks. med ASP eller PHP, osv.. Det kan brugeren ikke redigere i.

-- Man skal ikke være bange for at spørge :-)
Vi prøver på at hjælpe.. hvis vi skræmmer folk, er det ikke (altid) med vilje ;-)


Fejlen opstår sikkert fordi du har en tom streng, som du prøver på at indsætte i et felt, hvor der *skal* stå noget (dvs, værdien må ikke være tom)..

Smid noget ASP kode.. så kan vi kigge på det..
Avatar billede thesurfer Nybegynder
17. maj 2004 - 21:52 #4
hmm.. hvis du indsætter formen, scriptet og asp/databasekoden (uden at skrive database-filnavet, brugernavn og password), kan sagtens tage det her, i dette spm :-)
Avatar billede duno Nybegynder
17. maj 2004 - 23:34 #5
godt så.. ""GG""

her er koden, pillet for enhver genkendelig detalje


<%@LANGUAGE="VBSCRIPT"%>
<%
If Request.QueryString("Submit") <> "" Then
%>
<!--#include file="forbindelse.asp" -->
<%
Set indlaeg = Server.CreateObject("ADODB.Recordset")
indlaeg.Open "dagbogsindlaeg", database, 2, 2

indlaeg.AddNew
    indlaeg("Brugernavn") = Request.QueryString("Brugernavn")
    indlaeg("overskrift") = Request.QueryString("overskrift")
    indlaeg("indlaeg") = Request.QueryString("indlaeg")
    indlaeg("dato") = Date()
indlaeg.Update

Response.Redirect("kon2.asp")

End If
%>

<html><title>Otitel</title>

<head>
<style type="text/css">
<!--
.back {  background-attachment: fixed; background-image:  url(../grafik/bigback.gif); background-repeat: no-repeat; background-position: left top}
-->
</style>

<STYLE type=text/css>BODY {
    SCROLLBAR-FACE-COLOR: #8D6CB8; SCROLLBAR-HIGHLIGHT-COLOR: #ffffff; SCROLLBAR-SHADOW-COLOR: #cccccc; SCROLLBAR-ARROW-COLOR: #ffffff; SCROLLBAR-BASE-COLOR: #ffffff; scrollbar-dark-shadow-color: white; scrollbar-3d-light-color: 333333
}
</STYLE>

</head>

<body bgcolor="#F3E5FA" text="#744b96" link="#744b96" vlink="#744b96" alink="#744b96" class="back">
<form name="form1" method="get" action="kon.asp">
  <div align="center">
    <p><br>
      <b><font face="Arial, Helvetica, sans-serif" size="3" color="#744b96"> <font face="Comic Sans MS" size="4">Denne
      konkurrence er sponsoreret af:</font></font></b> <br>
      <br>
      <a href="http://www.link.dk/shop/" target="_blank"><img src="link.jpg" width="164" height="96" border="0"></a><br>
      <br>
      <font size="3" face="Arial, Helvetica, sans-serif" color="#744b96"><b><font face="Comic Sans MS" size="4">Pr&aelig;mien
      er:</font><font face="Comic Sans MS"><br>
      </font></b><font face="Comic Sans MS">1 stk. Odder hardbox pusletaske til
      en v&aelig;rdi af 499.95 kr.</font><b><font face="Comic Sans MS"><br>
      </font></b></font><font face="Comic Sans MS"><br>
      <font size="3" color="#744b96"><font color="#000000" size="2"><b><font color="#744b96" size="4">Sp&oslash;rgsm&aring;let
      er:</font></b></font></font></font><font color="#000000" face="Comic Sans MS"><br>
      <font color="#663399" size="3">Hvor mange eventyr der er i &quot;Disney's
      vidunderlige eventyr&quot; bog?</font></font></p>
    <p><font face="Comic Sans MS"><font color="#744b96" size="3"><b>Svaret kan
      findes p&aring; <a href="http://www.link.dk/" target="_blank">link.dk</a></b></font><br>
      </font><br>
    </p>
    <table width="400" border="1" bordercolor="#9962C5" cellpadding="0" cellspacing="0" vspace="0" hspace="0" height="300">
      <tr bgcolor="#DFCEED" valign="middle" align="center">
        <td height="386"> <br>
          <table width="200" border="0">
            <tr>
              <td><font color="#744b96" face="Arial, Helvetica, sans-serif" size="2"><b><font face="Comic Sans MS">Brugernavn:</font></b>
                </font></td>
              <td>
                <input type="text" name="Brugernavn">
              </td>
            </tr>
            <tr>
              <td><font color="#744b96" face="Arial, Helvetica, sans-serif" size="2"><b><font face="Comic Sans MS">E-mail:
                </font> </b></font></td>
              <td>
                <input type="text" name="overskrift">
              </td>
            </tr>
            <tr>
              <td valign="top" height="8" rowspan="2"><font color="#744b96" face="Arial, Helvetica, sans-serif" size="2"><b><font face="Comic Sans MS">Svar.:
                </font> </b></font></td>
              <td rowspan="2">
                <textarea name="indlaeg" rows="15" cols="50"></textarea>
              </td>
            </tr>
            <tr> </tr>
          </table>
          <br>
        </td>
      </tr>
    </table>
    <br>
              <input type="hidden" name="dato" value="date(Now)">
    <input type="submit" name="Submit" value="Opret">

  </div>
</form>

</body>
</html>
Avatar billede thesurfer Nybegynder
18. maj 2004 - 21:13 #6
Noget der straks hoppede op i fjæset på mig, var: Request.QueryString :-)

Man bruger Request.QueryString, når man bruger værdier i urls.. f.eks. side.asp?Brugernavn=jens&overskrift=hej osv..

Man bruger Request.Form, når man bruger en form.

Derfor skal du lige rette Request.QueryString til Request.Form i din asp kode:

    indlaeg("Brugernavn") = Request.QueryString("Brugernavn")
    indlaeg("overskrift") = Request.QueryString("overskrift")
    indlaeg("indlaeg") = Request.QueryString("indlaeg")

Og prøv igen.
Avatar billede thesurfer Nybegynder
18. maj 2004 - 21:15 #7
Se:

"Lektion 10: Værdier af variabler i en URL" - http://html.dk/tutorials/asp/lektion10.asp
"Lektion 11: Værdier af elementer i en formular" - http://html.dk/tutorials/asp/lektion11.asp
Avatar billede thesurfer Nybegynder
18. maj 2004 - 21:16 #8
PS:
VBScript er standard sproget når man bruger ASP.. så du behøver ikke denne linie:

<%@LANGUAGE="VBSCRIPT"%>
Avatar billede thesurfer Nybegynder
18. maj 2004 - 21:18 #9
Når du har en form, skal du nok hellere bruge method="POST", i stedet for method="get".. og så rettes koden til:

gammel: If Request.QueryString("Submit") <> "" Then

ny: If Request.Servervariables("request_method") = "POST" Then

--

gammel: <form name="form1" method="get" action="kon.asp">

ny: <form name="form1" method="post" action="kon.asp">
Avatar billede thesurfer Nybegynder
18. maj 2004 - 21:21 #10
..og husk dit valideringsscript..
Man kunne lave et valideringsscript både på klientsiden (JavaScript) og serversiden (ASP).

På den måde får brugeren besked, når der er noget forkert.. og hvis brugeren downloader formen for at ændre den, vil ASP stadig fange fejlen, inden det går galt.
Avatar billede duno Nybegynder
24. juni 2004 - 01:28 #11
hey surfer

stik mig et svar så jeg kan betale ""GG""
Avatar billede thesurfer Nybegynder
26. juni 2004 - 12:20 #12
*stik* :-)
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
Kurser inden for grundlæggende programmering

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