Avatar billede michael_stim Ekspert
04. september 2003 - 10:24 Der er 22 kommentarer og
1 løsning

Overföre til forskellige forme.

Jeg er lidt ude på Lars tyndskids marker, så jeg håber i kan hjälpe mig :(
Jeg har fået rodet lidt meget i mine koder så jeg ved snart ikke hvad der er op og ned.
Problemet er at jeg skal have sendt nogle variabler 2 gange på samme side (3 forme), og derefter til en update side.
De to förste forme fungere udemärket, det er i form 3 problemerne kommer (får ikke alle variabler med).

------------------Form 1------------------------
//Er navnene på tabeller (statisk)
//Obs har taget alle tabeller ol. väk for at göre det
//mere overskueligt
<form action="updateProduktfakta.asp" method="post" name="kat">
<select name="sida" onChange="if(this.options[this.selectedIndex].value=='breaker'){document.kat.sida.options[1].selected=true};document.kat.submit();">
<option selected>---------V&auml;lj sida----------------</option>
<option value="installationsforutsattning>installation</option>
<option value="regler">regler</option>
<option value="installation>Installation</option>
<option value="service">Service</option>
<option value="underhall">Underh&aring;ll</option>
<option value="breaker">-------------------------</option>
<option value="saFungera">S&aring; fungerar v&aring;ra brasor</option>
</select>
</form>
------------------Slut form1------------------------------

----------------------Form2------------------------------
//Dynamisk, henter värdier fra tabellen (form1)

<form method="post" action="updateProduktfakta.asp" name="modelform">
<input type="hidden" name="sidan" value="<% =request.form("sida") %>">
Rubrik:
<select name="modellist" class="cellkantred" onChange="document.modelform.submit();">
<option selected>as</option>
<%
set conn = server.CreateObject("ADODB.CONNECTION")
DSN = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="& server.MapPath("..\..\..\db\eldAdmin.mdb")
conn.Open DSN
Dim sida
sida=request.form("sida")
if sida <> "" then
strSQL = "SELECT id,rubrik FROM " & sida &""   
set RS = conn.execute(strSQL)
do while not rs.EOF
%>
<option value='<%=rs("id")%>'><%=rs("rubrik")%></option>
<%
rs.moveNext
loop
end if
%>
</select>
<%
dim strSQL
if request.form("sidan") <> "" OR request.form("modellist") <> "" then
strSQL = "SELECT * FROM " & request.form("sidan") &" WHERE id = " & request.form("modellist") & ""
set RS = conn.execute(strSQL)
do while not rs.EOF
%>
Rubrik:<input name="rubrik" type="text" value="<% =rs("rubrik") %>" class="cellkantred" size="35" maxlength="300">
Info:
<textarea class="cellkantred" rows="5" cols="34" name="info" value="<% =rs("info") %>"><% =rs("info") %></textarea>
<%
rs.moveNext
loop
end if
conn.close
%>
</form>
---------------------Slut form2---------------------------

----------------------form3-------------------------------

//Her er knapperne der skal sende info videre til updatesiden.

<form method="post" action="opdaterProduktfakta.asp" name="model">

<input type="text" name="sida" value="<% =request.form("sida") %>">
<input type="text" name="rubrik" value="<% =request.form("rubrik") %>">
<input type="text" name="id" value="<% =request.form("id") %>">
<input type="text" name="info" value="<% =request.form("info1") %>">
<input type="submit" name="knap" value="Ändra" class="knappred">
<input type="submit" name="knap" value="Ta bort" class="knappred">
</form>
------------------------Slut form3------------------------

Puha, det var et langt spörgsmål, håber ikke i bliver trätte för i har läst alt.
//Michael
Avatar billede netro Nybegynder
04. september 2003 - 12:05 #1
Løkken du kører i Form 2 udskriver FLERE inputs med det SAMME navn (rubrik og info)...
Avatar billede michael_stim Ekspert
04. september 2003 - 12:16 #2
Ja det er fordi det er en Dropdown-box.
Alt jeg vil er at få värdierne med ned i form 3, så jeg kan sende dem videre.
Type skal selvfölgelig väre hidden, men det er bare for at teste det.
Avatar billede michael_stim Ekspert
04. september 2003 - 12:20 #3
I textfeldtene er der kun en post med det idnummer, så der er der ingen problemer.
Avatar billede netro Nybegynder
04. september 2003 - 12:36 #4
Det er da ikke drop-downs i løkken:

<input name="rubrik" type="text" ............
<textarea class="cellkantred" rows="5" cols="34" name="info" ............
Avatar billede michael_stim Ekspert
04. september 2003 - 14:47 #5
12:20:09
Avatar billede netro Nybegynder
04. september 2003 - 14:52 #6
Hvorfor kører du så en løkke, hvis der kun er én?
Avatar billede michael_stim Ekspert
04. september 2003 - 15:28 #7
Fordi det er klip og klister fra en anden side, MEN DET ER IKKE DET DER ER PROBLEMET, DET FUNGERER PERFEKT.
//Michael
Avatar billede netro Nybegynder
04. september 2003 - 18:56 #8
Ok - jeg skal nok lade være at blande mig så.
Avatar billede michael_stim Ekspert
04. september 2003 - 20:01 #9
Du må såmänd gerne blande dig, hvis du kan komme med et forslag til lösning. eller lign.
//Michael
Avatar billede netro Nybegynder
04. september 2003 - 20:07 #10
Ja, men det kan jeg ikke, før jeg forstår formålet med scriptet. Derfor er jeg nødt til at spørge lidt.
Avatar billede michael_stim Ekspert
04. september 2003 - 20:39 #11
Troede ellers jeg var tydelig, men sådan er der så meget.
Pröver igen.
1. I den förste form er der en dropdown-box med et antal navne på forskellige tabeller.
2. I den anden form er der en anden dropdown-box som bliver fyldt med värdier (id og rubrik) fra den tabel man välger i den förste form.
3. Ligeledes i form nr 2 er der et textfield og et textarea som i sin tur bliver fyldt med värdier fra tabel (form 1) som har id-nr (form 2). De bliver aktiveret med en onChange, og så langt fungerer alt fint fint.
4. Her vil jeg så have 4 "hidden felter" (ikke nödvendigt hvis det kan löses på en anden måde), som sender alle värdierne (tabel, rubrik, info, id) til en updateside.
Avatar billede michael_stim Ekspert
04. september 2003 - 20:43 #12
4. = form 3
Avatar billede netro Nybegynder
04. september 2003 - 20:44 #13
Ja, så er jeg vist med. Øjeblik...
Avatar billede netro Nybegynder
04. september 2003 - 20:48 #14
Grunden til at du ikke får "rubrik" returneret er, at den ikke er sat som value="" i din dropdownboks (kun "id" bliver sendt):

<option value='<%=rs("id")%>'><%=rs("rubrik")%></option>

Og så skal du ikke have en value="" i dit textarea.

<textarea class="cellkantred" rows="5" cols="34" name="info" value="<% =rs("info") %>"><% =rs("info") %></textarea>
Avatar billede netro Nybegynder
04. september 2003 - 20:51 #15
Du forsøger at aflæse feltet "info1", men jeg kan ikke se det felt nogen steder - kun "info".
Avatar billede michael_stim Ekspert
04. september 2003 - 21:22 #16
Men "rubrik" tager jeg fra textfeltet, "info" fra textareaen, "id" fra dd-boxen og "sida" fra variabelen sida. Sådan kan man måske ikke göre?Men "info1" er forkert ja (forskellige tester, så har jeg glemt at rette det igen).
Avatar billede netro Nybegynder
04. september 2003 - 21:53 #17
Jo, du skal blot rette dit textarea til:

<textarea class="cellkantred" rows="5" cols="34" name="info"><% =rs("info") %></textarea>

- og så selvfølgelig fjerne dit 1-tal.
Avatar billede michael_stim Ekspert
04. september 2003 - 22:22 #18
Jeg tror jeg har fundet fejlen, men har ikke fundet ud af hvordan man fikser den, endnu.
Jeg tror det er fordi den ikke når at fylde textfield og textarea inden den sender dem videre til form 3. Tabelnavnet og id kommer fint med, men ikke de to andre.
Pröver at deklarere dem först og sende variablerne videre istedet.
//Michael
Avatar billede michael_stim Ekspert
04. september 2003 - 22:35 #19
Nej det hjalp ikke, nogen der har nogle idéer. Fejlen er altså at de to felter der bliver fyldt (rubrik, info) i form to, ikke bliver sendt med til form 3, fordi de er tomme når jeg ändrer dropdown-boxen.
Avatar billede netro Nybegynder
04. september 2003 - 23:00 #20
Ja, det var da en mulighed. Prøv at sætte en timeout på submit (f.eks. 0,1 sek):

onChange="setTimeout('document.modelform.submit();', 100);">
Avatar billede michael_stim Ekspert
05. september 2003 - 13:33 #21
Desvärre netro :(
Ingen der kan hjälpe?
Problemet er at når jeg submitter Dropdown-boxen for at få fyldt mine felter med info fra tabellen, sender den samtidig information til form 3. Det vil sige at felterne jo er tomme når de sendes, er der ikke en eller anden metode til at forsinke den forsendelse. Har prövet med en loop i slutningen af form 2, men det hjalp ikke noget.
Avatar billede netro Nybegynder
05. september 2003 - 16:29 #22
Har du prøvet at se kildekoden til formular 2 (altså uden ASP-kode)?
Avatar billede michael_stim Ekspert
11. september 2003 - 10:05 #23
Opretter et nyt spörgsmål, lidt omformuleret og en anden mulighed.
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