Avatar billede rille101 Nybegynder
17. august 2005 - 15:50 Der er 16 kommentarer og
1 løsning

Submit form registreres ikke

Jeg har denne form som jeg har brugt flere gange i andre projekter. Men denne gang kan jeg simpelthen ikke få den til at virke og nu har jeg højst sansynligt stirret mig blind på problemet.

På side 1 (nyvare.asp) har jeg denne form:

<form name="form1" method="post" action="nytEmne.asp"
ENCTYPE="multipart/form-data">
            <table width="60%"  border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td width="28%" class="style12">Emne:</td>
                <td width="72%" height="30"><select name="Emne" id="Emne">
  <%
if data = True then
  while not rsNyVare.eof
    if cstr(rsNyVare("emne")) = cstr(request.QueryString("emne")) then
    %>
  <option value="<%=rsNyVare("emne")%>"><%=rsNyVare("emne")%></option>
  <%
    end if
    rsNyVare.movenext
  wend
  rsNyVare.moveFirst
  while not rsNyVare.eof
    if rsNyVare("emne") <> request.QueryString("emne") then
    %>
  <option value="<%=rsNyVare("emne")%>"><%=rsNyVare("emne")%></option>
  <%
    end if
    rsNyVare.movenext
  wend
else
  while not rsNyVare.eof
    %>
  <option value="<%=rsNyVare("emne")%>"><%=rsNyVare("emne")%></option>
  <%
    rsNyVare.movenext
  Wend
end if
%>
</select>
<input type="submit" id="send" name="send" value="Nyt emne"></td>
              </tr>
              <tr>
                <td class="style12">Titel:</td>
                <td height="30"><input name="dato" type="text" id="dato" <%if data then response.write(" Value=""" & request.querystring("titel") & """") else %>Value="" ></td>
              </tr>
              <tr>
                <td class="style12">Beskrivelse:</td>
                <td height="30"><textarea name="tekst" id="tekst"></textarea></td>
              </tr>
              <tr>
                <td class="style12">Pris:</td>
                <td height="30"><input name="pris" type="text" id="pris" size="6">
                  <span class="style11">,-</span></td>
              </tr>
              <tr>
                <td class="style12">Billede:</td>
                <td><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>                      <input name="billede" type="billede" id="billede" size="30">
                </strong></font></td>
              </tr>
              <tr>
                <td>&nbsp;</td>
                <td><input type="submit" name="Submit" value="Indsæt"></td>
              </tr>
            </table>
           
            </form>

Side 2 (nytEmne.asp) ser sådan ud:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="../Connections/antik.asp" -->
<html>
<head>
<title>Antikvitetshandler E.A. Stegelmann - Ballum</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<%
if request.form("send")="Nyt emne" then
%>
<form action="insert_nyt_emne.asp" method="post" enctype="multipart/form-data">
  <b class="style10"><font face="Arial, Helvetica, sans-serif" size="3">Indtast nyt emne:</font></b>
  <br>
  <input type="submit" value="Opret">
  <input type="reset" name="Reset" value="Fortryd" onMouseUp="MM_goToURL('parent','nyvare.asp');return document.MM_returnValue">
  <input type="text" name="Emne">
  <input type="hidden" name="Titel" value="<%=request.Form("Titel")%>">
  <input type="hidden" name="tekst" value="<%=request.Form("tekst")%>">
  <input type="hidden" name="Pris" value="<%=request.Form("Pris")%>">
  <input type="hidden" name="Billede" value="<%=request.Form("Billede")%>">
</form>
<%
else%>
No data
<%
end if
%>
</body>
</html>

(der kan forefindes lidt "restkoder" da jeg har taget koden fra et af mine andre projekter)

Når man trykker på "Nyt emne" skulle dette gerne registreres på nytEmne.asp, og formen på denne side skulle vises.

Men der opsnappes ingen data og derfor vises hele tiden "no data"

Er der nogen dr kan se, hvad der er galt?
Avatar billede rille101 Nybegynder
17. august 2005 - 15:53 #1
<input name="billede" type="billede" id="billede" size="30">
er selvfølgelig
<input name="billede" type="file" id="billede" size="30">
Avatar billede fennec Nybegynder
17. august 2005 - 16:05 #2
Hvad bruger du til at uploade filer med??? Har du et komponent (f.eks. ASPUpload)
Avatar billede cpufan Juniormester
17. august 2005 - 16:52 #3
if request.form("send")="Nyt emne" then

du har ikke en input der hedder send med værdien "Nyt emne"
så vidt jeg lige kan se
Avatar billede cpufan Juniormester
17. august 2005 - 16:53 #4
jo nu fandt jeg den -
Avatar billede cpufan Juniormester
17. august 2005 - 16:57 #5
men du mangler en <% end if %> der afslutter dette:

<td height="30"><input name="dato" type="text" id="dato" <%if data then response.write(" Value=""" & request.querystring("titel") & """") else %>Value="" ></td>
Avatar billede cpufan Juniormester
17. august 2005 - 16:59 #6
med mindre det sår på en linie, hvilket det vel gør, hvis du ikke får scriptfejl
Avatar billede rille101 Nybegynder
17. august 2005 - 18:03 #7
cpufan -> Jeg kan faktisk ikke finde en <%end if%> som du påpeger det, men når jeg indsætter een af slagsen, så får jeg en scriptfejl. Mystisk...

fennec -> Jeg bruger ASPupload på nytemne.asp. Har bare skiftet den kode ud med "No data" indtil problemet er løst...
Avatar billede cpufan Juniormester
17. august 2005 - 22:15 #8
tja, det skyldes jo så at du har if then og else på een linie, så er end if unødvendig, men jeg plejer nu at lave den alligevel, for overskuelighedens skyld.

Du har 2 submit-knapper i din form
een med nyt emne, og en med indsæt
når du trykker på "nyt emne"
skal din side med nuværende kode kunne fange formfelternes værdi,
når du trykker på indsæt, vil du også ryge til den næste side,
men der er "nyt emne"-knappens value ikke submitted.....
men ovenstående er du vel klar over?
Avatar billede rille101 Nybegynder
17. august 2005 - 22:30 #9
Ja, når man trykker på indsæt, så skal man også komme til "nytemne.asp" hvor der så i stedet for "No data" vil være en kode der udfører nogle andre handlinger...

Der må være en bug der gør at denne kode ikke bliver eksekveret:
<%
if request.form("send")="Nyt emne" then
%>
Avatar billede cpufan Juniormester
17. august 2005 - 22:49 #10
prøv istedet:

<% if request("send")<>"" then
Avatar billede fennec Nybegynder
18. august 2005 - 08:14 #11
Problemet er at du sender formen som "multipart/form-data", også kan du ikke læse data med request.form. Derfor skal du have dit upload komponent med ind over.
Avatar billede rille101 Nybegynder
18. august 2005 - 11:05 #12
cpufan-> Desværre det virker heller ikke.

fennec-> Det er første gang jeg arbejder med aspUpload, og kender ikke rigtig til det, men du har ret, når jeg fjerner multipart/form-data taggen, så virker det.
Hvordan får jeg aspUpload inkluderet?
Avatar billede fennec Nybegynder
18. august 2005 - 11:16 #13
En god regel når du skal have fil upload på en side:

Lav fil upload først så det virker, også tilføjer man de andre formfelter og database input/opdatering.

Du skal altså have lavet en side hvor du kan oploade en fil først. Der findes et eks på kode her:
http://www.aspupload.com/manual_simple.html
Avatar billede fennec Nybegynder
18. august 2005 - 11:18 #14
Angående ekstra formfelter kan man først trække dem ud EFTER man har kaldet "Save" funktionen. Filen skal altså gemmes før man kan få adgang til data fra formfelterne.
Avatar billede rille101 Nybegynder
18. august 2005 - 13:38 #15
Ok fennec. så må jeg lave mit script om, så indsæt formen strækker sig over lidt flere sider.
Vil du smide lige smide et svar fennec?!

Tak for hjælpen til jer begge!
Avatar billede cpufan Juniormester
26. august 2005 - 20:54 #16
du kan også bruge upload.form("feltnavn")
Avatar billede fennec Nybegynder
29. august 2005 - 08:12 #17
.o) <-- One Eyed Jack
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