Avatar billede no_doubt Nybegynder
22. juni 2001 - 14:24 Der er 11 kommentarer og
1 løsning

Hvorfor funker dette ikke

<!--#INCLUDE FILE =\"code_lib.asp\" -->
<%
Response.buffer = true
session.LCID = 1030

if request.servervariables(\"Request_Method\") = \"POST\" then

    navn = request.form(\"navn\")
    email = request.form(\"email\")
    pw = request.form(\"pw\")

    opretuser navn, email, pw

else
%>
<html>

<head>
<title>Navn</title>
</head>

<script language=\"javascript\">
function CheckForm() {
    if (document.opret.navn.value==\'\') {
        alert(\'Du skal skrive et navn\');
        return false;
    };
    if (document.opret.email.value==\'\') {
        alert(\'Du skal skrive et password\');
        return false;
    };
    if (document.opret.pw.value==\'\') {
        alert(\'Du skal skrive et password\');
        return false;
    };
    return true;
}
</SCRIPT>

<body bgcolor=\"#000000\">

<div align=\"center\">
  <center>
  <table border=\"2\" width=\"70%\" height=\"126\" bordercolor=\"#FFFFFF\" cellspacing=\"3\" cellpadding=\"3\">
    <tr>
      <td width=\"100%\" height=\"9\" colspan=\"2\">
        <p align=\"center\"><font color=\"#FFFFFF\" face=\"Arial\" size=\"2\">
<%
if request.querystring(\"mode\") = \"newuser\" then
    if request.querystring(\"sub\") = \"no\" then
%>
        Brugeren findes allerede, prøv med nyt navn eller email
<%
    elseif request.querystring(\"sub\") = \"yes\" then
%>
        Der er nu blevet sendt en email til Mark som vil tage stilling<br>
        til om du kan oprettes, du vil få en email herom
<%
    end if
end if
%>

        </font>

        <form method=\"POST\" action=\"add_user.asp\" name=\"opret\">
          <div align=\"center\">
            <table border=\"0\" height=\"137\">
              <tr>
                <td height=\"1\"><font color=\"#FFFFFF\" face=\"Arial\" size=\"2\">Navn:</font></td>
                <td height=\"1\"><font color=\"#FFFFFF\" face=\"Arial\" size=\"2\"><input type=\"text\" name=\"navn\" size=\"20\"></font></td>
              </tr>
              <tr>
                <td height=\"1\"><font color=\"#FFFFFF\" face=\"Arial\" size=\"2\">Email</font></td>
                <td height=\"1\"><font color=\"#FFFFFF\" face=\"Arial\" size=\"2\"><input type=\"text\" name=\"email\" size=\"20\"></font></td>
              </tr>
              <tr>
                <td height=\"7\"><font color=\"#FFFFFF\" face=\"Arial\" size=\"2\">Password</font></td>
                <td height=\"7\"><font color=\"#FFFFFF\" face=\"Arial\" size=\"2\"><input type=\"password\" name=\"pw\" size=\"20\"></font></td>
              </tr>
              <tr>
                <td width=\"100%\" colspan=\"2\" height=\"13\">
                  <p align=\"center\"><input type=\"submit\" value=\"Tilføj\" name=\"B1\" onClick=\"if (checkform()) {document.opret.submit();}\">
</td>
              </tr>
            </table>
          </div>
        </form>
      </td>
    </tr>
  </table>
  </center>
</div>

</body>

</html>

<%
end if
%>
Avatar billede erikjacobsen Ekspert
22. juni 2001 - 14:27 #1
I stedet for din onclick skal du lave en

<form method=\"POST\" action=\"add_user.asp\" name=\"opret\" onsubmit=\"return checkform()\">
Avatar billede no_doubt Nybegynder
22. juni 2001 - 14:30 #2
Avatar billede erikjacobsen Ekspert
22. juni 2001 - 14:36 #3
Nå, jeg havde lavet samme fejl som dig:

<form method=\"POST\" action=\"add_user.asp\" name=\"opret\" onsubmit=\"return CheckForm()\">


men det er langt bedre med onsubmit
Avatar billede no_doubt Nybegynder
22. juni 2001 - 14:38 #4
Hvordan skal min kode se ud så ?
Avatar billede erikjacobsen Ekspert
22. juni 2001 - 14:38 #5
Som jeg har skrevet
Avatar billede no_doubt Nybegynder
22. juni 2001 - 14:40 #6
Jeg har :
        <form method=\"POST\" action=\"add_user.asp\" name=\"opret\">

Og

                  <p align=\"center\"><input type=\"submit\" value=\"Tilføj\" name=\"B1\" onClick=\"if (checkform()) {document.opret.submit();}\">

Hvad skal de to linjer skiftes ud med ?
Avatar billede erikjacobsen Ekspert
22. juni 2001 - 14:42 #7
Fjern onclick-fidusen og skriv

<form method=\"POST\" action=\"add_user.asp\" name=\"opret\" onsubmit=\"return CheckForm()\">
Avatar billede no_doubt Nybegynder
22. juni 2001 - 14:45 #8
tak
Avatar billede erikjacobsen Ekspert
22. juni 2001 - 14:46 #9
Og grunden til at det er bedre med onsubmit er hvis brugeren trykker retur
i et felt, så bliver formen submittet uden at den der onclick bliver kaldt. Så
det anbefaler jeg altid.

Men derudover bør man jo så også checke det samme på serversiden, hvis folk
nu har slået javascript fra.
Avatar billede olebole Juniormester
22. juni 2001 - 15:21 #10
<ole>
Til gengæld kan man ikke submitte formen med JavaScript, da onsubmit-events kun udløses ved tryk på en submitknap. Onsubmit kan heller ikke bruges, hvis man vil submitte med <input type=\"image\">.
/mvh
</bole>
Avatar billede erikjacobsen Ekspert
22. juni 2001 - 16:54 #11
Det eneste problem, Ole, som du rigtigt påpeger, er hvis man selv siger
submit. De andre virker da - med mindre det er din Mac, der er anderledes....

Siger man selv submit skal man huske

<input type=\"button\" onclick=\"if (CheckForm()) this.form.submit()\">
Avatar billede olebole Juniormester
22. juni 2001 - 17:05 #12
Undskyld....det var mig, der ikke tænkte mig om. Det var et andet problem, jeg på et tidspunkt havde meed type=image. Men det er rigtigt, at man skal huske selv at fyre de ting af, der ellers ligger på onsubmit - ved JavaScript-submittering.
/mvh
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