Avatar billede tama Nybegynder
01. september 2004 - 12:27 Der er 1 kommentar og
1 løsning

Placering af ASP kode i funktion

Jeg vil gerne placere en funktion på min ASP side hvor brugerne kan indtaste en parameter i en form som derefter bliver sendt over til en XSLT fil.
Jeg kan godt få det til at virke med en forud defineret variabel som ASP siden sender over, derimod kommer jeg lidt på bar bund da jeg ikke helt ved hvordan jeg skal placere ASP koden i funktionen.
Koden der virker ser sådanne ud:

<html>
<head>
    <title>Service</title>
<link rel="stylesheet" type="text/css" href="StyleSheets/MainStyleSheet.css">

</head>

<body>
   
    <script>
        function go()
        {
        }
    </script>
<%
Kunden = "Virtuel Soft"

Set objxml = CreateObject("MSXML2.DOMDocument.3.0")
objxml.async = false
objxml.load(Server.MapPath("EmneKartotek.xml"))

set objxsl = Server.CreateObject("MSXML2.FreeThreadedDOMDocument")
objxsl.async = false
objxsl.load(Server.MapPath("ServiceCenter.xsl"))

set xslTemplate = Server.CreateObject("MSXML2.XSLTemplate")
xslTemplate.stylesheet = objxsl
set xslProc = xslTemplate.createProcessor()

xslProc.addParameter "kunde", Kunden

xslProc.input = objxml
xslProc.transform()
Response.write (xslProc.output)
%>   

   
    <h3>Indtast dit kunde ID for at se dit firmas emneliste</h3>
    <form name="entry">
    <input type="text" name="kunde" size="16">
    <br><br>
    <input type="button" name="enter" value="Enter" onclick="go()">
    </form>
   
</body>
</html>

Jeg håber nu at der er nogle der kan hjælp mig med at få smidt koden ind i funktionen, da jeg selv mener at have prøvet næsten alt.

På forhånd tak!!
Avatar billede tama Nybegynder
01. september 2004 - 14:10 #1
Hvorfor kan jeg ikke gøre sådanne?

<html>
<head>
    <title>Service</title>
<link rel="stylesheet" type="text/css" href="StyleSheets/MainStyleSheet.css">

</head>

<body>
   
    <script>
        function go()
        {
            var Kunden = document.entry.kunde.value
            <%
                Set objxml = CreateObject("MSXML2.DOMDocument.3.0")
                objxml.async = false
                objxml.load(Server.MapPath("EmneKartotek.xml"))
               
                set objxsl = Server.CreateObject("MSXML2.FreeThreadedDOMDocument")
                objxsl.async = false
                objxsl.load(Server.MapPath("ServiceCenter.xsl"))
               
                set xslTemplate = Server.CreateObject("MSXML2.XSLTemplate")
                xslTemplate.stylesheet = objxsl
                set xslProc = xslTemplate.createProcessor()
               
                xslProc.addParameter "Kunde", Kunden
               
                xslProc.input = objxml
                xslProc.transform()
                Response.write (xslProc.output)
            %>
        }
    </script>
   
   
    <h3>Indtast dit kunde ID for at se dit firmas emneliste</h3>
    <form name="entry">
    <input type="text" name="kunde" size="16">
    <br><br>
    <input type="button" name="enter" value="Enter" onclick="go()">
    </form>

</body>
</html>
Avatar billede eagleeye Praktikant
01. september 2004 - 17:17 #2
Det fordi man ikke kan blande Server side og Client side script samme. Når du henter en fil på serveren udføres ASP koden og den laver HTML/javascript som sendes til browseren. Eller sagt på en anden måde ASP koden udføres før Javascipt koden.


Hvis du vil bruge ASP komponener må du lave en form som submitter kunde id'et til siden og så bliver ASP koden udført og kan skrive det ud, eksempel:

<html>
<head>
    <title>Service</title>
<link rel="stylesheet" type="text/css" href="StyleSheets/MainStyleSheet.css">

</head>

<body>
   
           
            <%
              if request.serverVariables("SCRIPT_NAME") = "POST" then
                Kunden = Request.Form("kunde")
                Set objxml = CreateObject("MSXML2.DOMDocument.3.0")
                objxml.async = false
                objxml.load(Server.MapPath("EmneKartotek.xml"))
               
                set objxsl = Server.CreateObject("MSXML2.FreeThreadedDOMDocument")
                objxsl.async = false
                objxsl.load(Server.MapPath("ServiceCenter.xsl"))
               
                set xslTemplate = Server.CreateObject("MSXML2.XSLTemplate")
                xslTemplate.stylesheet = objxsl
                set xslProc = xslTemplate.createProcessor()
               
                xslProc.addParameter "Kunde", Kunden
               
                xslProc.input = objxml
                xslProc.transform()
                Response.write (xslProc.output)
            end if
            %>
     
   
    <h3>Indtast dit kunde ID for at se dit firmas emneliste</h3>
    <form name="entry" action="<%=Request.ServerVariables("SCRIPT_NAME")%>" method="post">
    <input type="text" name="kunde" size="16">
    <br><br>
    <input type="submit" name="enter" value="Enter">
    </form>

</body>
</html>
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