webForumDet fria alternativet

Behöver hjälp att behålla värden vid ny sida.

ASP

37 svar · 1 102 visningar · startad av grimmy · sida 2 av 2

Frågan, av grimmy

Svårt att hitta en bra rubrik... men följande är problemet: Jag har gjort ett formulär för att lägga in bild med text och lite extra info och har lite funderingar på hur jag skall tänka. När jag hämtar bilden så går jag till en ny sida, men skulle jag då ha matat in bildtexten så är den förlorad när jag kommer tillbaka till formulärssidan. Jag förstår att man skulle kunna spara texten om man öpp

Läs frågan i sin helhet →
Medlem sedan okt. 200118 inlägg
#21

Tackar så mycket allihopa.

Nu har jag fått mycket hjälp på traven. Och faktiskt löst problemet...
Det blir troligen javascript som jag fått ett bra exempel på men skall gärna prova att styra submitten som solbulle sa...
Nån som har nåt enkelt kodexempel för det sista exemplet?

/Glad Grimmy

Medlem sedan aug. 2000304 inlägg
#22

Ah... Stopp nu lite hära. :stud

(Jag har nu kommit hem å kan i lugn och ro fundera lite.)

Java är inte nödvändigt.

Du kan submitta med värdena till en ny sida "hamta_bild.asp"
Där lägger du in de värden från de "formar" som användaren skrivit en massa text i, i gömda formar.

<input name="bildtext" type="hidden" value="<%=Request.Form("bildtext") %>">

Låter användaren leta bild som han sedan subittar till din "spara.asp" sida.

Och där fyller du i formarna med värdet från formarna från första, via andra sidan.

Om du vill kan du låta första och sista sidan vara "samma" sida.
Finns det inget värde att läsa in i en form så kan du altid låta den få ett Default värde.

Medlem sedan okt. 200118 inlägg
#23

Cooldude:

Din idé är helt klar för mig, men går inte att genomföra utan java vad jag förstår. Förklara annars för mig hur sidan med ETT formulär skall veta om den skall submittas till hämtabildsidan eller sparasidan? Låter jag tjatig? :)

/Grimmy

Medlem sedan okt. 200118 inlägg
#24

Oki... tack för hjälpen alla... (speciellt locutus) här kommer lösningen jag fick och som jag tänkte använda. Någon annan kanske har samma problem.

Jag har i exemplet tre sidor
Form.asp - för formuläret
Adda.asp - för att hämta filer
Sparapost.asp - för att spara posten när man väl är klar.. (Denna sida är ej med för det vet ni redan hur man gör :) )

Denna kod bör ligga med i både formulärsidan (form.asp) och adda.asp-sidan

<script language="JavaScript">

var remote;

function OpenFile(field) {function OpenFile(field) {
	remote = window.open("","filhanterare","width=640,height=500, scrollbars,left=250,screenX=250,top=200,screenY=200");
	remote.location.href = "/test/adda.asp";
	remote.focus();
}

<script>

Här är formulärsidans (form.asp) övriga kod. Observera att formulärnamnet måste matcha js fuktionen

<form name="media" method="post" action="/test/sparapost.asp">
<a href="javascript:OpenFile('src');">Välj bild fr&aring;n lista</a> <br>
<INPUT TYPE="text" NAME="src" VALUE="välj filnamn" size="75" >
</form>

Här är fil/bildhämtningssidans kod (adda.asp). Observera att javascriptfunktionen bör finnas med även här vad jag förstår. Sen för att förenkla har jag bara gjort EN länk.

<a href="javascript:opener.FileInsert('sökväg','src')">Lägg 
in data i fältet</a>

Klart!

:birp

/Grimmy

Medlem sedan mars 20015 287 inlägg
#25

Strålande! :)

Medlem sedan okt. 200118 inlägg
#26

Åh fn.. i javascriptet bör följande kod (funktion) också finnas med... :)

function FileInsert(path,field) {		
	if(field == "src")
		document.media.src.value = path;
	remote.close();

Sorry :)

Medlem sedan aug. 2000304 inlägg
#27

*morr*

Ja ja så går det bara för att man åker ner te Stockholm över dagen för att leta elfel.

Kör med Java då, gör det ni bara, fast det inte behövs.... (bitter) :D

Jag skall bara sova en stund nu å jobba imorron med så skall jag fixa lite kåd så även Grimmy fattar.... (Tror jag, trött nu då jag klev upp 04:20.....)

/i morgon fixar vi detta med ASP.

Medlem sedan mars 20015 287 inlägg
#28

Helt klart kan man göra det i endast asp, men vad är felet med javascript?

Medlem sedan aug. 2000304 inlägg
#29

Inget!

Bara det att jag fick ett mess via ICQn från Grimmy som trodde att jag missuppfattat något.

Medlem sedan okt. 20024 inlägg
#30

Grimmy:

Istället för
if(field == "src")
document.media.src.value = path;

så tror jag att man ska använda sig av eval( )

det torde blir något liknande detta
eval('document.media.'+field+'.value='+path')

Medlem sedan okt. 20024 inlägg
#31

Rättar mig själv. Det blir:

eval("document.media."+field+".value = '"+path+"'");

Tar man det ett steg till så kan man ju skicka med formulärnamnet till funktionen så att det blir:

eval("document."+formname+"."+field+".value = '"+path+"'");

Medlem sedan juni 200032 967 inlägg
#32

locutus skrev:

Tar man det ett steg till så kan man ju skicka med formulärnamnet till funktionen så att det blir:

eval("document."+media+"."+field+".value = '"+path+"'");

Man borde ju kunna göra det utan eval också (och i så fall blir det lite snyggare imho):

document.forms[formname].elements[fieldname].value = path;

Om man då utgår från att formname och fieldname läggs till i funktionens interface. Nu är jag ju iofs ingen kung på javascript, och det här är ganska mycket överkurs. ;)

Mvh,

Medlem sedan okt. 200118 inlägg
#33

Känns som överkurs :) men tack för tipsen :)

Det fungerar jättebra redan nu... :)

Får jag lite tid över skall jag plugga på lite på JS... Synd att inte allt går att lösa med ETT och samma språk...:)

/Grimmy

Medlem sedan aug. 2000304 inlägg
#34

Ohlla!

Pillat med ETT å samma språk. (nästan, std html å lite asp.)

Två sidor allt som behövs.

Här är Hämtafilens script:

<head>
<title>Hämta Bild</title>
</head>

<body>

<form method="POST" action="spara.asp">
  <p><input type="text" name="namn" size="20"> 
  Namn<br>
  <input type="text" name="omrade" size="20"> 
  Område<br>
  <input type="text" name="text" size="20"> 
  Bildtext<br>
  <input type="file" name="File" size="20"><br>
  <input type="submit" value="Submit" name="B1"><input type="reset" value="Reset" name="B2"></p>
</form>

</body>

Och "Spara" filens kod:

<head>
<title>Spara</title>
</head>

<body>
<%
name=Request.form("namn")
area=Request.Form("omrade")
Text=Request.Form("text")
Picture=Request.Form("file")

Response.Write name & "<br>"
Response.Write area & "<br>"
Response.Write text & "<br>"
Response.Write picture  & "<br><br><br>"
%>
<p>
<img border="0" src="<%= picture %>" ></p>
</body>

Som ni ser så sparar inte spara filen något, den bara visar de värden som finns i formarna, samt visar den bild man hämtat.

Nu finns det det säkert de som klagar på att man kan bifoga vilken fil som helst med scriptet, men det var inte fråga om att begränsa det till bildfiler.

Saken var juh att värdena på formarna försvann vid hämta bild.

Tyvärr kan jag inte ordna nån fin "preview". Men har provat lokalt å det fonkar.

Gör vad ni vill me skräpet.

Medlem sedan okt. 200118 inlägg
#35

Cooldude:
Missupfattat allt som vanligt.... (tack och lov har jag löst problemet med java ) :) :) :)

Du skall alltså gå från..
Sidan1 (form)
...till sidan 2 (hämta fil) (FRÅN SERVER!)
...tillbaka till sidan 1 (För att visa vilken fil du hämtat OCH utan att tappa värdena du redan skrivit i de andra fälten på sid 1).
...sedan från sidan 1 till sidan 3 för att spara posten.

Comprende? :P

/El grimmy

Medlem sedan juni 200032 967 inlägg
#36

grimmy skrev:

tack och lov har jag löst problemet med java

Menar du javascript? Det är en stor skillnad. :)

Medlem sedan okt. 200118 inlägg
#37

Naturligtvis...
Jag ber hemskt mycket om ursäkt för mitt slarviga uttalande :)

Medlem sedan juni 200032 967 inlägg
#38

Du är förlåten mot löfte att aldrig göra samma misstag igen. ;)

Mvh,

274 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
142 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)