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
3 svar · 383 visningar · startad av saw
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?
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
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>
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