sawMedlem sedan mars 20011 880 inlägg Jag försöker att få ihop ett formulär i tre steg.
1: Fylleri(alltså inputsbox)
2: Kolla om uppgifterna är rätt
3: Till databasen.
Så här försöker jag:
<% If LEN(Request.Form("Namn"))=0 OR LEN(Request.Form("Epost"))=0 OR LEN(Request.Form("Inlagg"))=0 Then %>
<FORM METHOD="POST" ACTION="Nytt.ASP">
Lite kod här
<BR><INPUT TYPE="SUBMIT" VALUE="Skicka">
<INPUT TYPE="RESET" VALUE="Rännsa fälten">
</FORM>
<% ElseIf Request("Submit")= "Skicka" Then
Mera kod här
<FORM METHOD="POST" ACTION="Nytt.ASP">
Mera kod
</FORM>
<% ElseIf Request("Submit")= "Skicka till forum" Then
%>
Och här till databasen
Detta lyckas inte, någon som vet varför?
------------------
saw
__
saw@songer.com
www.saw.songer.com
__
PaceMedlem sedan juni 20019 024 inlägg Submit knappen måste ha ett namn ex:
<INPUT TYPE="submit" NAME="submit" VALUE="Skicka">
Dessutom måste Request("submit") vara Request.Form("submit") istället så att man plockar info från formuläret.
Hoppas det funkar!
------------------
Peter D
[Redigerat av Pace den 29 jun 2001]
[Redigerat av Pace den 29 jun 2001]
PaceMedlem sedan juni 20019 024 inlägg Förresten så är fylleri olagligt i samband med bilkörning... :e
------------------
Peter D
sawMedlem sedan mars 20011 880 inlägg Nix, det var tyvärr inte så enkelt, som att lägga till namnet....
Visst det går ju att göra en fil till, men jag ville gärna plocka ihop det till en fil..
Jodå visst är fylleri olagligt, men fyll-e-ri????
------------------
saw
__
saw@songer.com
www.saw.songer.com
__
@ndersMedlem sedan juni 200032 969 inlägg
Dessutom måste Request("submit") vara Request.Form("submit") istället så att man plockar info från formuläret.
nej. det kan dock vara bra att säga vilken collection man vill använda, .form eller .querystring till exempel, gör man inte det så söks alla collections (cookies, servervariables, form querystring, osv) tills det sökta hittas.
det är alltså bättre att ange collection, men man måste ingalunda göra det.
saw: på vilket sätt lyckas det inte?
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
sawMedlem sedan mars 20011 880 inlägg Jo jag vill ju ha det så, att efter fylleriet, så kommer man till förhandsgranska, därefter skickas till databasen.
Som min kod är, så går den direkt till databasen, alltså hoppar över förhandsgranska.
I mitt stilla sinne så hoppades jag att jag kunde göra någonting så här enkelt, annars så får jag bygga ett flersidigt formulär, och då vet jag att det löser sig, men jag hoppades som sagt attdet skulle lösa sig....
------------------
saw
__
saw@songer.com
www.saw.songer.com
__
@ndersMedlem sedan juni 200032 969 inlägg det är klart att det går att lösa.
posta hela din sida här så kan vi fixa det. det är lättare att se vad som är galet om man ser lite sammanhang.
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
Jag fattar inte riktigt det där med att man checkar av om formuläret är korrekt i fyllt med asp...och inte med javascript på klienten?
------------------
Alltid lär man sig något nytt varje dag...
PatrikBMedlem sedan mars 20002 836 inlägg Här kommer det liiiite kod ;) som du kan labba med:
svar.asp
<%
Option Explicit
Response.Buffer = TRUE
'================================================================================
Sub getSvar(ByVal iFraga)
Dim obj
Dim m_strSvar
'## -- hämta det nyss postade svaret --
m_strSvar = Request.Form("txt_Svar_" & (iFraga - 1))
'## -- spara svaret i ett hidden fält --
Response.Write "<INPUT type=""hidden"" " & _
"name=""hid_Svar_" & (iFraga - 1) & """ " & _
"value=""" & m_strSvar & """>"
'## -- hämta alla redan sparade frågor och
'## spara dem i hidden fält --
For Each obj In Request.Form
If Left(obj,9) = "hid_Svar_" Then
m_strSvar = Request.Form(obj)
'## -- spara svaret i ett hidden fält --
Response.Write "<INPUT type=""hidden"" " & _
"name=""" & obj & """ " & _
"value=""" & m_strSvar & """>"
End If
Next
End Sub
'----------------------------------------------------------------------------
'================================================================================
Dim intTotFragor, intFraga, I
Dim strSvar
'## -- hur många frågor finns det totalt --
intTotFragor = 5
'## -- hämta vilken fråga som ska visas --
intFraga = Request.Form("txt_FragaNr")
If intFraga = "" Then intFraga = 1
%>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<%
If Request.Form("txt_Collect") = "" Then
%>
<TITLE>Fråga <% =intFraga%> - Fylleriet</TITLE>
<%
Else
%>
<TITLE>Dina svar har nu postats - Fylleriet</TITLE>
<%
End If
%>
</HEAD>
<BODY bgcolor="#FFFFFF" text="#000000">
<%
If Request.Form("txt_Collect") = "" Then
%>
<FORM name="form1" method="post" action="svar.asp">
<INPUT type="hidden" name="txt_FragaNr" value="<% =intFraga + 1%>">
<TABLE border="0" cellspacing="0" cellpadding="3">
<%
If CInt(intFraga) <= CInt(intTotFragor) Then
%>
<TR>
<TD colspan="2">
<P><FONT face="Verdana, Arial, Helvetica, sans-serif" size="2"><B>Fråga <% =intFraga%></B></FONT></P>
<P><FONT face="Verdana, Arial, Helvetica, sans-serif" size="2">
<TEXTAREA name="txt_Svar_<% =intFraga%>" cols="40" rows="10"></TEXTAREA>
<%
If intFraga > 1 Then
'## -- hämta redan postade frågor --
Call getSvar(intFraga)
End If
%>
</FONT></P>
</TD>
</TR>
<TR>
<TD> </TD>
<TD align="right">
<INPUT type="submit" name="Submit" value="Svara">
</TD>
</TR>
<%
Else
Call getSvar(intFraga)
For I = 1 To intTotFragor
If CInt(I) < CInt(intTotFragor) Then
strSvar = Request.Form("hid_Svar_" & I)
Else
strSvar = Request.Form("txt_Svar_" & I)
End If
%>
<TR>
<TD>
Fråga <% =I%>:<BR>
<% =strSvar%>
</TD>
</TR>
<%
Next
%>
<TR>
<TD>
<INPUT type="submit" name="Submit2" value="Skicka Svaren">
</TD>
</TR>
<INPUT type="hidden" name="txt_Collect" value="1">
<%
End If
%>
</TABLE>
</FORM>
<%
Else
'## -- hämta in alla frågor som ligger i hid_Svar_<fraganr> --
For I = 1 To intTotFragor
strSvar = Request.Form("hid_Svar_" & I)
'## -- gör vad du ska med svaret --
Response.Write strSvar & "<BR>"
Next
%>
Dina svar har nu skickats
<%
End If
%>
</BODY>
</HTML>
cya,
PatrikB
------------------
*Det tar sig sa han som hade eld i håret*
[Redigerat av PatrikB den 29 jun 2001]
sawMedlem sedan mars 20011 880 inlägg Det är så här som jag försöker.
Nu har jag ändrat lite granna, och försöker med att lägga värde i hidden forms, men resultatet är detsamma.
Så här ser koden ut så långt:
<!--#include file="../style/dataconn.inc"-->
<%
SQL="SELECT TOP 1 Forum.Hits FROM FORUM"
Set RS = Connection.Execute(SQL)
strHits = RS("HITS") +1
%>
<html>
<head>
<link REL="stylesheet" HREF="../style/Style.css" TYPE="text/css">
<LINK rel="stylesheet" type="text/css" href="styles.css">
<title>Forum</title>
</head>
<BODY>
<TABLE><TR><TD VALIGN=TOP>
<!--#include file="Knappar.asp"-->
</TD><TD VALIGN=TOP>
<% If LEN(Request.Form("Namn"))=0 OR LEN(Request.Form("Epost"))=0 OR LEN(Request.Form("Inlagg"))=0 Then %>
<FORM METHOD="POST" ACTION="Nytt.ASP">
<TABLE WIDTH="450" BORDER=0><TR>
<TD VALIGN=TOP colspan=4 WIDTH="450">Nytt Inlägg</TD></TR>
<TR><TD>Namn:</TD>
<TD><INPUT NAME="Namn" SIZE=25></TD></TR>
<TR><TD>Epost:</TD>
<TD><INPUT NAME="Epost" SIZE=25></TD></TR>
<TR><TD>Rubrik</TD>
<TD><INPUT NAME="Rubrik" SIZE=25></TD></TR>
<TR><TD>Datum:</TD>
<TD><INPUT NAME="Datum" VALUE="<%=Date()%>" SIZE=25></TD></TR>
<TR><TD>Inlägg:</TD>
<TD><textarea rows="4" name="Inlagg" cols="40"></TEXTAREA></TD></TR>
</TD></TR></TABLE>
<BR>
<INPUT TYPE="hidden" NAME="Edit" VALUE="Forhand">
<INPUT TYPE="SUBMIT" NAME="submit" VALUE="Skicka">
</FORM>
<%
ElseIf Request.Form("Edit")= "Forhand" Then
Dim strNamn,strEpost,strRubrik,strDatum,strInlagg
strNamn=Request("Namn")
strEpost=Request("Epost")
strRubrik=Request("Rubrik")
strDatum=Request("Datum")
strInlagg=Request("Inlagg")
%>
<INPUT TYPE="hidden" NAME="Namn" VALUE="<%=strNamn%>">
<INPUT TYPE="hidden" NAME="Epost" VALUE="<%=strEpost%>">
<INPUT TYPE="hidden" NAME="Rubrik" VALUE="<%=strRubrik%>">
<INPUT TYPE="hidden" NAME="Datum" VALUE="<%=strDatum%>">
<INPUT TYPE="hidden" NAME="Inlagg" VALUE="<%=strInlagg%>">
<INPUT TYPE="hidden" NAME="Edit" VALUE="Sand">
<%
'Response.Write "String: " & Request.QueryString & "<br>"
'Response.Write "Form: " & Request.Form & "<br>"
%>
<FORM METHOD="POST" ACTION="Nytt.ASP">
<TABLE WIDTH="450" BORDER=0><TR>
<TD VALIGN=TOP colspan=4 WIDTH="450">Nytt Inlägg</TD></TR>
<TR><TD>Namn:</TD>
<TD><%=strNamn%></TD></TR>
<TR><TD>Epost:</TD>
<TD><%=strEpost%></TD></TR>
<TR><TD>Rubrik</TD>
<TD><%=strRubrik%></TD></TR>
<TR><TD>Datum:</TD>
<TD><%=strDatum%></TD></TR>
<TR><TD>Inlägg:</TD>
<TD><%=strInlagg%></TD></TR>
</TD></TR></TABLE>
<BR>
<INPUT TYPE="hidden" NAME="Edit" VALUE="Sand">
<INPUT TYPE="SUBMIT" NAME="submit1" VALUE="Skicka till forum">
</FORM>
<% ElseIf Request.Form("Edit")= "Sand" Then
Response.Write "String: " & Request.QueryString & "<br>"
Response.Write "Form: " & Request.Form & "<br>"
%>
Här skall databaskoderna komma
<%End If %>
</BODY>
</HTML>
Jag är alltså bara i början, men jag skulle vilja ha med mig allt till blocket "sand"
------------------
saw
__
saw@songer.com
www.saw.songer.com
__
slurkenMedlem sedan juni 200152 inlägg
Submit knappen måste ha ett namn
funkar lika bra utan namn
------------------
jag är inte där du är
sawMedlem sedan mars 20011 880 inlägg Tack för att ni tog er tid och titta, men det är löst nu.
------------------
saw
__
saw@songer.com
www.saw.songer.com
__
sawMedlem sedan mars 20011 880 inlägg Glad är den som tror att allting är löst : (
Nu fungerar det som så, när jag har skrivit in någonting, så får jag med det till förhandsgranska, men när jag sedan posta det till sista elseif-satsen, då händer ingenting.
DVS jag kommer till en "ny sida" men kan inte skriva in någonting i koden, för det visas ingenting.
Den sista biten ser ut så här:
<INPUT TYPE="SUBMIT" VALUE="Skicka">
<INPUT TYPE="hidden" NAME="Edit" VALUE="Skicka">
</FORM>
<%
Session("Namn")=strNamn
Session("Epost")=strEpost
Session("Rubrik")=strRubrik
Session("Datum")=strDatum
Session("Hits")=strHits
Session("Inlagg")=strInlagg
ElseIf Request.form("Edit")="Skicka" Then
Response.Write Session("Namn") & "<BR>"
Response.Write Session("Epost") & "<BR>"
Response.Write Session("Rubrik") & "<BR>"
Response.Write Session("Datum") & "<BR>"
Response.Write Session("Hits") & "<BR>"
Response.Write Session("Inlagg") & "<BR>"
End If
%>
Någon som kan se vad jag inte ser?
------------------
saw
__
saw@songer.com
www.saw.songer.com
__