Avatar billede janick1111 Nybegynder
02. januar 2004 - 13:14 Der er 7 kommentarer og
2 løsninger

Hvordan får man ASP til at kører i et javascript

Hvordan får jeg en asp-kode til at kører i et javascriptt, Man kommer hen til javascript-koden ved en form, hvis action er en function. I denne function skal der være en asp kode.. Jeg har prøvet at bare sætte den ind, virker ikke.. Jeg har prøvet er lave nogle betingelse, virker hellere ikke
Avatar billede netro Nybegynder
02. januar 2004 - 13:16 #1
Du kan ikke kalde en ASP-funktion uden at genindlæse siden.
Avatar billede keysersoze Guru
02. januar 2004 - 13:17 #2
hvis javascriptet er en .js fil så kan det ikke lade sig gøre - hvis det er javscript sat ind i fx body er der ingen problemer... et eksempel hvis du fx har en asp-variabel der hedder SQL;

<script type="text/javascript">
alert('<%=SQL%>')
</script>

men da javascripten bliver dannet idet siden bliver loadet vil asp'en ikke være dynamisk
Avatar billede janick1111 Nybegynder
02. januar 2004 - 13:19 #3
netro>> OK, men kan man så genindlæse siden, hvor den så kører en function??
Avatar billede janick1111 Nybegynder
02. januar 2004 - 13:21 #4
Jeg har en function eks:

Function TEST(frm) {

<%
      Set Upload = Server.CreateObject("Persits.Upload.1")
    Count = Upload.Save("d:\home\trimacdk\www\nordok\user\SiteGFX\") 
  %>

}

Functionen skal selvfølgelig lave noget mere, gider bare ikke skrive dette!
Dette kan ikke lade sig gøre
Avatar billede netro Nybegynder
02. januar 2004 - 13:24 #5
Det du forsøger er vist noget alá:

<%
Function Test(Streng)
  If Trim(Streng) <> "" Then Test = True
End Function
%>

<form onSubmit="Test('blabla');">
...
</form>

Eller hvad?

Ja, du kan f.eks. vælge at køre funktionen, hvis der er sendt noget fra formularen.

If Request.ServerVariables("Request_Method") = "POST" Then '...

I ASP.net ville du kunne angive navnet på funktionen i selve form-tagget.

<form action="Test()" runat="server" \>
Avatar billede keysersoze Guru
02. januar 2004 - 13:25 #6
ovenstående kan du ikke - functionen er en javascript-function hvorimod det du forsøger at køre er ren ASP så det kan altså ikke lade sig gøre.

Du skal meget skarpt adskille javascript og asp - javascript er klientbaseret og asp er serverbaseret. javascript kan du altså få til at gøre en masse ting uden at reloade fx og asp SKAL arbejde op mod serveren hver gang der sker noget nyt.

Jeg tvivler på at du kan uploade noget uden at reloade - men en lille hjælp kunne måske være at lære lidt om asp'ens functions-muligheder; http://www.html.dk/tutorials/asp/lektion9.asp
Avatar billede janick1111 Nybegynder
02. januar 2004 - 13:26 #7
OK.. Tak begge tp
Avatar billede zuiq Nybegynder
02. januar 2004 - 13:26 #8
Du kan evt. gøre sådan her:

<html>
<head>
<script type="text/javascript" src="" id="callAsp"></script>
<script type="text/javascript">
function test(frm){
document.all.callAsp.src='callasp.asp';
}
</script>
</head>
<body>
<a href="java script:;" onClick="test('');">Klik her..!</a><br>
blabla..
</body>
</html>

Og så kunne callAsp evt. se sådan her ud:
<%
Set Upload = Server.CreateObject("Persits.Upload.1")
Count = Upload.Save("d:\home\trimacdk\www\nordok\user\SiteGFX\") 
%>
alert('Sådan, ASP funktionen er udført!');


Sådan gør man det :)
Mvh.
Mads
Avatar billede zuiq Nybegynder
02. januar 2004 - 13:27 #9
Arrg hehe du har accepteret deres svar imens jeg skrev koden :)..
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