Avatar billede mimi Nybegynder
02. januar 2002 - 20:01 Der er 14 kommentarer og
1 løsning

Validering af form

Jeg har en form, som jeg skal have validering på således, at man får en meddelsesboks, hvor der f.eks. står \"Du skal indtaste navn\". Den skal altså bare tjekke, om felterne er tomme. Jeg kunne selvfølgelig lave det i JavaScript, men for æstetikkens skyld, kunne jeg godt tænke mig at indflette det i ASP-dokumentet.
Jeg ville blive meget glad, hvis en eller anden kunne hjælpe mig, da jeg ikke er stærk i syntaksen til VBscript... (eller noget andet for den sags skyld :o)

Her er koden til formen:


<form action=\"nyheder.asp\" name=action>
<input type=\"hidden\" Name=\"Mode\" Value=\"opret\">
<input type=\"hidden\" Name=\"id\" Value=\"<% = Request(\"id\")%>\">

Navn: <br><INPUT type=\"text\" name=\"name\"><p>

Overskrift: <br><INPUT type=\"text\" name=\"head\"><p>
Nyhed: <br><TEXTAREA rows=4 cols=35 name=\"news\">
</TEXTAREA><p>

<input type=\"Submit\" Value=\"Send\" name=Submit1>
<input type=\"Reset\" Value=\"Slet\" name=Reset1>
</form>
Avatar billede proboss Nybegynder
02. januar 2002 - 20:15 #1
Her finder du en Validate form prøv den er god

http://www.solutions2all.dk/tools.asp



//proboss
Avatar billede mimi Nybegynder
02. januar 2002 - 20:28 #2
Tjoh, den er fin nok, men det er Javascript. Jeg vil gerne have tilsvarende script i VBscript, så jeg kan flette det ind i mit ASP-dokument.
Avatar billede keysersoze Ekspert
02. januar 2002 - 21:48 #3
hvis ikke du vil have javascript ind kan du ikke få et vindue til at poppe op - så må du nøjes med tekst der fortæller at der er en fejl... dette gøres ved at teste fx sådan;

if request.form(\"dinform\") = \"\" then
Avatar billede mimi Nybegynder
02. januar 2002 - 21:59 #4
Hehe, så vil jeg gerne have Javascript i stedet! :o)

Jeg har lavet det her, men der er en lille fejl, for det virker ikke...


<script langauge=\"javascript\">

function checkform()
{

      if (document.form.name.value == \"\") {
            alert (\'Feltet name skal udfyldes\');
            return false;
      }
      if (document.form.head.value == \"\") {
            alert (\'Feltet head skal udfyldes\');
            return false;
      }
      if (document.form.news.value == \"\") {
            alert (\'Feltet news skal udfyldes\');
            return false;
      }

      form.submit()
<!-- Hvad er det liiiige, syntaksen for at gå til et andet dokument er? //-->

}

</script>

</head>

<body leftmargin=\"20\" topmargin=\"20\" marginwidth=\"20\" marginheight=\"20\">
<h1>Skriv/slet nyheder</h1>

<form action=\"nyheder.asp\" name=\"action\">
<input type=\"hidden\" Name=\"Mode\" Value=\"opret\">
<input type=\"hidden\" Name=\"id\" Value=\"<% = Request(\"id\")%>\">

Navn: <br><INPUT type=\"text\" name=\"name\"><p>

Overskrift: <br><INPUT type=\"text\" name=\"head\"><p>
Nyhed: <br><TEXTAREA rows=4 cols=35 name=\"news\">
</TEXTAREA><p>

<input type=\"button\" Value=\"Send\" name=Submit1 onClick=\"checkform()\">
<input type=\"Reset\" Value=\"Slet\" name=Reset1>
</form>
Avatar billede keysersoze Ekspert
02. januar 2002 - 22:14 #5
hvad siger den af fejl?
Avatar billede mimi Nybegynder
02. januar 2002 - 22:20 #6
Den \"siger\" ikke andet end, at der står \"Error on page\" i statuslinjen...
Avatar billede keysersoze Ekspert
02. januar 2002 - 22:56 #7
så kan du prøve at klikke på den fejlmeddelelse og se hvad der kommer frem
Avatar billede mimi Nybegynder
02. januar 2002 - 23:02 #8
Nu har jeg ændret lidt i scriptet, fordi jeg selv fandt nogle småfejl. Nu får jeg ikke længere fejlmeddelsen i statuslinjen. Siden virker fint nok. Jeg kan tilføje nyheder, hvilket er meningen, men hvis jeg tester min validering ved f.eks. at lade være med at udfylde et af felterne, får jeg af vide: \"Field \'news.navn\' cannot be a zero-length string.\" Det virker simpelthen som om, den helt \"overser\" Javascriptet.
Her er koden, efter jeg lige har rettet lidt i den.

<script langauge=\"javascript\">

function checkform()
{

      if (document.form.name.value == \"\") {
            alert (\'Feltet name skal udfyldes\');
            return false;
      }
      if (document.form.head.value == \"\") {
            alert (\'Feltet head skal udfyldes\');
            return false;
      }
      if (document.form.news.value == \"\") {
            alert (\'Feltet news skal udfyldes\');
            return false;
      }

      form.submit()

}

</script>

</head>

<body leftmargin=\"20\" topmargin=\"20\" marginwidth=\"20\" marginheight=\"20\">
<h1>Skriv/slet nyheder</h1>

<form action=\"nyheder.asp\" name=\"form\">
<input type=\"hidden\" Name=\"Mode\" Value=\"opret\">
<input type=\"hidden\" Name=\"id\" Value=\"<% = Request(\"id\")%>\">

Navn: <br><INPUT type=\"text\" name=\"name\"><p>

Overskrift: <br><INPUT type=\"text\" name=\"head\"><p>
Nyhed: <br><TEXTAREA rows=4 cols=35 name=\"news\">
</TEXTAREA><p>

<input type=\"submit\" Value=\"Send\" name=Submit1 onSubmit=\"checkform()\">
<input type=\"Reset\" Value=\"Slet\" name=Reset1>
</form>
Avatar billede keysersoze Ekspert
02. januar 2002 - 23:21 #9
alert\'erne skal være med parenteser - prøv dette;

alert(\"Feltet head skal udfyldes\");

Avatar billede kasiwakki Nybegynder
02. januar 2002 - 23:25 #10
<!-- Hvad er det liiiige, syntaksen for at gå til et andet dokument er? //-->
document.location \'opret.asp?\' + document.all.Mode.value + \'&hvad du ellers skal bruge
Avatar billede mimi Nybegynder
02. januar 2002 - 23:31 #11
Wheee! Nu virker det! Det var simpelthen linjen

<input type=\"submit\" Value=\"Send\" name=Submit1 onSubmit=\"checkform()\">

Der skulle rettes til

<input type=\"button\" Value=\"Send\" name=Submit1 onClick=\"checkform()\">

Der kan man bare se! KeyserSoze, du får pointene for din flittige hjælp. Takker. :o)
Avatar billede proboss Nybegynder
03. januar 2002 - 09:40 #12
Hvorfor afvise mit svar da jeg kan se du valgte at bruge det link jeg anbefalede ??
Avatar billede mimi Nybegynder
03. januar 2002 - 11:21 #13
Fordi det ikke var et Javascript, jeg bad om, og fordi jeg kunne have lavet det selv. Dermed ikke sagt, at dit link ikke var brugbart, ingen tvivl om det, men hvis det ikke var fordi keysersoze havde fortalt mig, at man ikke kunne lave det tilsvarende i ASP, så havde jeg aldrig brugt dit link. Men jeg er meget glad for dit svar, men kunne desværre ikke acceptere jeres begges svar... Du skal da også have tak. :o)
Avatar billede proboss Nybegynder
03. januar 2002 - 13:00 #14
Det er jo netop derfor at jeg giver dig et link til et JavaScript som du tydeligvis bruger dette er ikke til at komme uden om.

Så derfor er mit svar jo der ved godkendt i og med du bruger linke

og serfølig kan man acceoter to svar sikke noget vrøvl
Avatar billede mimi Nybegynder
03. januar 2002 - 13:26 #15
Det må du undskylde så... Jeg bruger ikke Eksperten så tit og vidste ikke, at man kunne acceptere to svar.
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