08. april 2005 - 10:08
Der er
25 kommentarer og 1 løsning
Flere forms på samme side
Hej, Jeg har en side med et DB udtræk, der udskriver alle poster i en tabel. For hver post, vil jeg gerne give brugeren mulighed for at kommenterer posten. Dette er klargjort således: For hvert udtræk har jeg lavet et skjult DIV, der kan klikkes til og fra. Her ligger en form med et tekstarea og en Submit knap. Mit problem er nu, at jeg ikke kan poste forminput til databasen. Mit bud er, at det er fordi at der er flere forme på samme side, og at den blot tager den første, som så er tom. Har I et bud på en løsning? Glæder mig til at høre fra Jer. MVH Wolfgang
Annonceindlæg fra QNAP
08. april 2005 - 10:13
#1
ja hvis alle forms har samme navn? så tager den jo blot den første Har du noget kode du kan vise?
08. april 2005 - 10:21
#2
Hej Når du udskriver din side med posterne i tabellen skal du i den form der ligger i din DIV lægge din forms action medsende id'en for den aktuelle post eks. <form action="fil.asp?id=<%=rs.recID%>> <textarea name="kommentar" type="textarea"></textarea> </form> de data du får med vil være den postede form du vil så kunne bruge request.querystring.item("id") til at hente din recID request.form.item("kommentar") til at hente brugerens kommentar derefter kan du poste data til databasen sql = "Update [tabel] set [kommentar] = " & request.form.item("kommentar") & " where ID = " & request.querystring.item("id")
08. april 2005 - 10:23
#3
Mjallow - Det kan du tro. Her skrives formen ud: <div class="ReviewComment" id="RI_<%= rsReviewSQL2("ReviewID")%>" style="visibility:hidden;position:relative;display:none;"> <table width="480" border="0" cellpadding="0" cellspacing="0" class="GFcontentTable"> <form action="review.asp?DoComment=Yes&RI=<%= rsReviewSQL2("ReviewID")%>" method="post"> <tr> <td width="10"></td> <td scope="col">Skriv din kommentar til den ovenstående anmeldelse her<br> <textarea name="RComment" cols="85" rows="4" class="formField" id="Comment"></textarea></td> </tr> <tr> <td width="10"></td> <td scope="col"><input name="Submit" type="submit" class="button" value=" Gem "> <input name="Button" type="button" class="button" value=" Luk " onClick="java script:DoComment('RI_<%= rsReviewSQL2("ReviewID")%>');"></td> </tr> </form> </table> </div> Her skrives input til DB: If Request.QueryString("DoComment") = "Yes" Then strSQL1 = "insert into tbl_ReviewComments (ReviewID, RComment, MemberID) values("& request.querystring("RI") &",'"& request.Form("RComment") &"',"& Session("UserID") &")" conn.Execute(strSQL1) Response.Redirect(Request.ServerVariables("HTTP_REFERER")) end if Kunne man evt. give hver form der "loopes" ud, et unikt ID (F.eks. ReviewID), som man så kunne bruge til requeste korrekt med?
08. april 2005 - 10:24
#4
-> vbCoder. Se venligst den nu vedlagte kode :)
08. april 2005 - 10:37
#5
hvorfor vil du dynamisk tilføje en form mere til din div, hvis du allivel vil poste hele siden? Du kan bare tilføje et tekstarea og en submit knap uden en ekstra form.
08. april 2005 - 10:38
#6
Man kan også poste multi forms, kan ikke lige huske syntaksen, for har aldrig haft brug for det.
08. april 2005 - 10:48
#7
mener man skal tilføje enctype="multiform" til den form, der submittes, så poster den hele dynen. Er dog ikke 100%
08. april 2005 - 10:48
#8
Det virker dog som om du tilføjet et input felt inde i en form, og så er der ingen grund til at have flere.
08. april 2005 - 10:49
#9
Hej Skyggen2000, Vil du ikke komme et eksempel på din løsning? "Du kan bare tilføje et tekstarea og en submit knap uden en ekstra form."
08. april 2005 - 10:51
#10
Her er lige et eksempel på hvordan et udtræk kan se ud. - Det kan muligvis give jer et bedre overblik. Udtræk 1 fra DB (Skjult formfelt til kommentar) Udtræk 2 fra DB (Skjult formfelt til kommentar) Og så frem deles...
08. april 2005 - 11:15
#11
du skriver: Dette er klargjort således: For hvert udtræk har jeg lavet et skjult DIV, der kan klikkes til og fra. Her ligger en form med et tekstarea og en Submit knap. Har du prøvet at fjerne form element i dette sammenhæng? Det virker som om du prøver at have en form i en form...
08. april 2005 - 11:18
#12
Jeg prøver lige igen :) Dette er den kode der skal bruges: <div class="ReviewComment" id="RI_<%= rsReviewSQL2("ReviewID")%>" style="visibility:hidden;position:relative;display:none;"> <table width="480" border="0" cellpadding="0" cellspacing="0" class="GFcontentTable"> <form action="review.asp?DoComment=Yes&RI=<%= rsReviewSQL2("ReviewID")%>" method="post"> <tr> <td width="10"></td> <td scope="col">Skriv din kommentar til den ovenstående anmeldelse her<br> <textarea name="RComment" cols="85" rows="4" class="formField" id="Comment"></textarea></td> </tr> <tr> <td width="10"></td> <td scope="col"><input name="Submit" type="submit" class="button" value=" Gem "> <input name="Button" type="button" class="button" value=" Luk " onClick="java script:DoComment('RI_<%= rsReviewSQL2("ReviewID")%>');"></td> </tr> </form> </table> </div> Ovenstående udskrives for/til hver post i mit loop.
08. april 2005 - 11:27
#13
har du prøvet at tilføje enctype="multiform" dvs. <form name="frm_=<%= rsReviewSQL2("ReviewID")%>" action="review.asp?DoComment=Yes&RI=<%= rsReviewSQL2("ReviewID")%>" method="post" enctype="multiform"> Hvad med også at tilføje et name til din form, så der er styr på dem. Du kunne også fjerne dit form element som jeg siger, og pakke det hele ind i en form.
08. april 2005 - 11:27
#14
Dvs. inden du kører dit loop.
08. april 2005 - 11:32
#15
-> Skyggen2000 Du kunne også fjerne dit form element som jeg siger, og pakke det hele ind i en form. Hvordan kan jeg så submitte det ene form felt, ud af f.eks. 100?
08. april 2005 - 11:35
#16
eftersom du blot har dem i en div, vil alle alligevel blive postet... Ellers skal du dele det op i iframes, i stedet for div'er. Dog skal din review.asp, så kunne skrive præcis det samme som der stod før. ved ikke hvad den gør nu, men der er noget der ikke hænger sammen.
08. april 2005 - 13:37
#17
Nu kiggede jeg lige på din kode Der er en lille tweak i asp recordset og det er at du kan kun udtrække værdien en gang. du trækker værdien 3 gange - dvs at anden og tredje gang du udskriver dit rec_id vil det være tomt. hvis du opretter en variabel fx. lngRecID og tilskriver den din reviewID kan du bruge den flere gange. Jeg kan dog ikke helt se hvorfor du du har både et javascript og en post af formen men det er nok bare mig ;-) <%lngRecID = rsReviewSQL2("ReviewID")%> <div class="ReviewComment" id="RI_<%=lngRecID%>" style="visibility:hidden;position:relative;display:none;"> <table width="480" border="0" cellpadding="0" cellspacing="0" class="GFcontentTable"> <form action="review.asp?DoComment=Yes&RI=<%=lngRecID%>" method="post"> <tr> <td width="10"></td> <td scope="col">Skriv din kommentar til den ovenstående anmeldelse her<br> <textarea name="RComment" cols="85" rows="4" class="formField" id="Comment"></textarea></td> </tr> <tr> <td width="10"></td> <td scope="col"><input name="Submit" type="submit" class="button" value=" Gem "> <input name="Button" type="button" class="button" value=" Luk " onClick="java script:DoComment('RI_<%=lngRecID%>');"></td> </tr> </form> </table> </div>
08. april 2005 - 14:41
#18
-> vbCoder Jeg kan ikke nikke genkendende til det du beskriver. Pt. bliver rsReviewSQL2("ReviewID") udskrevet 5 gange i loop - uden problemer. - Jeg har heller ikke oplevet det problem før. Det kan tænkes at jeg ikke har beskrevet mit problem tydeligt nok og at I derfor misforstår mit spørgsmål. Jeg vender tilbage en reformulering senere. Beklager ulejligheden
08. april 2005 - 15:38
#19
Prøv at ligge et link til din side så vi kan se hvad du prøver på, det ville gøre det hele lidt nemmere.
09. april 2005 - 10:39
#21
Kunne det bruges?
09. april 2005 - 13:05
#22
hej igen - jeg kan ikke udfra dit link se hvad der går galt men det ligner et problem jeg har haft med at få indholdet af en form med - noget af indholdet ville ikke med. I mit tilfælde havde det noget at gøre med at jeg havde rettet input navn og ikke dets id. din textarea har forskellige tekst i name og id <textarea name="RComment" cols="85" rows="4" class="formField" id="Comment"></textarea> kan det være det?
09. april 2005 - 13:07
#23
jeg tror at hvis du retter id="RComment" så virker det
09. april 2005 - 16:27
#24
Hej vbCoder, Så spiller det! Tusind tak for din indsats og dit skarpe øje. - Lidt pinligt at jeg ikke havde set den fodfejl. Opret venligst et svar, så du kan få dine velfortjente pointz :)
10. april 2005 - 11:57
#25
oki - det en snot irriterende lille ting man kan bruge lang tid på
10. april 2005 - 13:53
#26
Yes - Det er jo næsten pinligt :)
Kurser inden for grundlæggende programmering