Tja! Hej, Vad menar du med att det fungerat förut? Du försöker anropa en subrutin i server-skriptet ifrån ett klientskript, precis som herbjorn säger. Det har aldrig fungerat, och kommer aldrig att fungera. Oki. Jag är med nu. Efter några timmars sömn så förstår jag.. :) Är det någon speciell mening med att besökaren måste stanna på exakt samma sida för att grejerna skall loggas!? Klientskript kan inte skyddas. Berätta vad ditt skript gör. Kan finnas möjlighet att lägga det på servern, anropadet från klienten genom t.ex en dold iframe. På så sätt skydda din kod för granskning. Scriptet ser ut så här.. Den används för att hämta användar rättigheter från en databas samt spara dem. Det här är det ända sättet jag lyckats få till det för att möte kundens krav. Nu är problemet bara att jag vill dölja just det här scriptet. De måste gå att anropa via en knapp i ett formulär från klienten. Du kan göra så att du på servern sätter Fick precis ett tips om att göra databas anropet så här. Men dock så han jag alltid få klart för mig hur han byggde upp "get.asp" som anropas på ett väldigt intressant vis måste jag säga. Av vilken anledning får inte sidan laddas om? Låter som en kund som inte vet vad han pratar om. Har försökt få till Onkelborg´s lösning men jag hittar inte rätt ResponseCode.. Jag vet inte om det hjälper att gå till källan - Hypertext Transfer Protocol HTTP/1.1 Tack för hjälpen! Problemet är löst. Fungerar felfritt. ASP koden körs på servern men användaren stannar kvar på samma sida. Runat server
Har träffat på nått mysko fel..
Installerade om hela min webbserver (IIS) igår och nu funkar inte mina vbscript i asp koden.
Detta har dock fungerat förut!!!
Koden ser ut så här:
<script language="VBScript" runat="server">
sub save()
bla bla bla.. . massa saker, bla db anrop.
end sub
</script>
vbscriptet exekveras när man klickar på en knapp i fomuläret :
<input onClick="save()" type="button" id="saverights" class="alertsave" value="Spara" />
Sidan exekveras utan problem men när jag klickar på knappen så gör den ingenting. Va beror detta irriterande fenomen på? Är det bara jag som glömt någon inställning på webbservern?
Tacksam för svar!
Sv: Runat server
onClick handlar om vad som skall hända på klientsidan när någon trycker på din knapp, men du har ju skrivit runat=server på ditt script....
mvh
HerbjörnSv: Runat server
Sv: Runat server
Men då kommer nästa fråga, kan jag på något sätt dölja den vbscript kod som finns i dokumentet för användare. Annars är det ju bara att höger-klicka och sedan ta "Visa Källa" så ser man allt.
Iofs så ska applikatioen köras i en miljö som är ganska skyddad mot giriga personer som vill sno kod, men man vet ju aldrig.
Är det någon som har nått tips?Sv: Runat server
Annars är det ju bara att skicka dom till en ny sida som logga in eller vad du nu vill att dom ska göra!
//Tobbe\\ www.aljapaco.comSv: Runat server
Sv: Runat server
Och som vi sa tidigare så fungerar det inte att köra det från servern.
<script language="VBScript">
dim RDS, RS
sub window_OnLoad
users.appusrid.focus
set RDS = CreateObject("ADODB.Connection")
set RS = CreateObject("ADODB.Recordset")
RDS.Open "DSN=xxxxxx;Uid=xxx;Pwd=xxxxxxxx;"
savemess.innerHTML = ""
rights.saverights.disabled = True
end sub
sub window_OnUnLoad
RDS.Close
end sub
sub saverights_OnClick
storerights()
end sub
sub showrights_OnClick
getrights()
end sub
sub appusrid_OnClick
savemess.innerHTML = ""
end sub
sub storerights()
p_start = 1
p_end = 19
p_name = "but"
savemess.innerHTML = "<font color='#990000'><b>Sparar behörigheter...</b></font>"
rights.saverights.disabled = True
users.appusrid.disabled = True
users.showrights.disabled = True
for p_start = 1 to p_end
p_temp = p_name & p_start
db_field = "AUR_RIGHT" & p_start
if document.all(p_temp).checked = True then
p_value = "Y"
RDS.Execute("UPDATE APPUSR_RIGHTS_TAB SET " & db_field & " = '" & p_value & "' WHERE AUR_USRID = '" & users.appusrid.value & "'")
else
p_value = "N"
RDS.Execute("UPDATE APPUSR_RIGHTS_TAB SET " & db_field & " = '" & p_value & "' WHERE AUR_USRID = '" & users.appusrid.value & "'")
end if
next
users.appusrid.disabled = False
users.showrights.disabled = False
savemess.innerHTML = "<font color='#990000'><b>Sparat...</b></font>"
end sub
sub getrights()
if users.appusrid.value = "0" then
alert("Du måste välja en användare!")
users.appusrid.focus
else
p_start = 1
p_end = 19
p_name = "but"
SQL = "SELECT * FROM APPUSR_RIGHTS_TAB WHERE AUR_USRID = '" & users.appusrid.value & "'"
savemess.innerHTML = "<font color='#990000'><b>Hämtar behörigheter...</b></font>"
Set RS = RDS.Execute(SQL)
rights.saverights.disabled = True
users.appusrid.disabled = True
users.showrights.disabled = True
for p_start = 1 to p_end
p_temp = p_name & p_start
if RS("AUR_RIGHT" & p_start) = "Y" then
document.all(p_temp).checked = True
else
document.all(p_temp).checked = False
end if
next
rights.saverights.disabled = False
users.appusrid.disabled = False
users.showrights.disabled = False
savemess.innerHTML = "<font color='#990000'><b>Hämtat...</b></font>"
RS.Close
end if
end sub
</script>
Sv: Runat server
Med andra ord, när man gjort ändringarna i formuläret så sparas dom i databasen utan att sidan laddas om.Sv: Runat server
Response.ResponseCode = 204
(om jag nu inte minns helt fel dvs, kan vara något liknande) för att göra så att sidan bara skickas till servern, servern kör asp-koden, servern svara med 204 no content vilket gör att webbläsaren struntar i den nya sidan och behåller den gamlaSv: Runat server
Någon som kan hjälpa mig förstå den här koden?
<script Language=VBScript>
sub window_onload
set RS = CreateObject("ADODB.Recordset")
path = location.protocol & "//" & location.hostname & "/getfiles/"
RS.Open rpath & "get.asp",,,,adCmdFile
if not RS.EOF then
ett = RDS("fält1")
tva = RDS("fält2")
tre = RDS("fält3")
end if
RDS.Close
end sub
</script>
Sv: Runat server
Håller med Onkelborg lösning. Sv: Runat server
Är det någon som har möjlighet att utveckla den lite?Sv: Runat server
10 Status Code Definitions:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10
10.2.5 204 No Content :
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.5
Hur ser din implementering ut av koden?Sv: Runat server
<code>
<%
Response.Status = 204
%>
</code>
Tackar stort för detta förslag!