webForumDet fria alternativet

Använda variabel ifrån en inputbox

ASP

3 svar · 383 visningar · startad av saw

Medlem sedan mars 20011 880 inlägg
Frågan#1

Jag försöker att spara textinnehållet i en textarea som en mall.
Jag använder en inputbox i VBScript, men jag kan inte behålla variablen
(filnamnet).

<% Dim returnvalue,filNamn %>
<SCRIPT LANGUAGE="VBSCRIPT">
   returnvalue = InputBox("Skriv ett filnamn", "En ny mall")
</SCRIPT>
<%
filNamn=returnvalue & ".txt"
Set fso = CreateObject("Scripting.FileSystemObject")
Set folderObject = fso.GetFolder(Server.MapPath("Doc") & "\")

Set textStreamObject = folderObject.CreateTextFile(filNamn,true,false)
textStreamObject.WriteLine(Request.Form("Inlagg"))
Set textStreamObject = Nothing
Set folderObject = Nothing
Set fso = Nothing

Jag vet ju att vbscript är ett klientspråk och asp körs på servern, men
kan jag på något sätt kombinera detta med FSO?

Medlem sedan juni 200032 967 inlägg
#2

Det kan du inte.
Du kan inte blanda server- och klientkod på det sättet. ASP-koden körs ju först, och har alltså ingen aning om vad returnvalue är för något. Du får skicka värdet till sidan med en querystring eller liknande.

mvh

Medlem sedan feb. 200112 078 inlägg
#3

Du kan inte blanda klient- och serverside-språk sådär. Det som är innanför <script>-taggarna är klientside VBScript, och det som är inom <% %> är serverside VBScript(/ASP).

För att få in datat från ditt klientsidescript, måste du göra en postning från sidan och sen fånga det med Request-objektet i ASP. Jag föreslår nog hellre att du använder JavaScript dessutom, eftersom VBScript inte finns på alla klienter som standard. JavaScript däremot, är ganska mycket standard idag.

<%
if request("mode") = "save" then 
   response.write "Filnamn: " & Request("FileName") & ".<br><br>"
end if 
%>

<head>
<script language="JavaScript">
function getFileName() {
   var f = document.frm;
   f.FileName.value = prompt("Ange filnamn:");
   f.submit();
}
</script>
</head>

<body onLoad="getFileName();">

<form name="frm" method="post" action="page.asp">
<input type="hidden" name="FileName" value="">
<input type="hidden" name="mode" value="save">
</form>

</body>
Medlem sedan mars 20011 880 inlägg
#4

OveRRidE och @nders.
Tack för era snabba svar, tyvärr so tror jag inte att det hjälper mig.
Som jag skrev i mitt inleddande inlägg, så är jag ju medveten om ASP och
klientspråk.
Denna applikation som jag bygger, är enbart till för att köras på min lokala
maskin, så vi behöver inte ta hänsyn till det.

Applikationen är till för att kunna skicka flera olika mail (inte spam), och jag
ville på ett enkelt sätt spara det jag har skrivit som en mall för framtida bruk.

Jag gjorde det nu enkelt för mig, och la till en input type text.
Ny fungerar detta bra.(tror jag)

Jag lär nog återkomma... :e

260 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)