Avatar billede wesso Juniormester
15. maj 2012 - 16:01 Der er 7 kommentarer og
1 løsning

Hvordan kan man sender man en variable værdi fra html til XSLT ??

Hej

Jeg har en side, som viser 14 stregkoder på en side til udskrivning.

Jeg har lavet en dropdown list, så at man kan definere, hvor mange stregkoder, der skal være på en enkelt side.

Jeg har en xsl variable "barcodeTotalNr" med default værdi på 14.
Jeg har en dropdown liste "barcodeTotal", som får tildelt en værdi, som skal læses ind i "barcodeTotalNr" ved en reload/submit af siden.

Hvordan kan jeg få xsl variablen "barcodeTotalNr" til at få værdien fra dropdown listen ved sumbit/reload ????

Jeg har følgende kode:

****************************************************************
<script language="JavaScript">               
  <![CDATA[           
  function updateNumberOfBarcode() {
    var barcodeTotal = $$("barcodeForm").barcodeTotal.value;
    document.barcodeForm.submit();
  }
  ]]>
</script>
<!-- default value for $barcodeTotalNr = 14-->
<xsl:variable name="barcodeTotalNr" select="14" />
<br/>
<form id="barcodeForm" name="barcodeForm" action="">
  <!--input type="hidden" id="bcTotalNr" name="bcTotalNr" value="" /-->
  <span class="csslabel">
  <xsl:value-of select="Update the list"/>
  </span>
  <select id="barcodeTotal" name="barcodeTotal" class="cssinput" onchange="updateNumberOfBarcode()">
    <option value="2">2</option>
    <option value="4">4</option>
    <option value="6">6</option>
    <option value="8">8</option>
    <option value="10">10</option>
    <option value="12">12</option>
    <option value="14" selected="selected">14</option>
    <option value="16">16</option>
  </select>
  <br/>
</form>
****************************************************************
Avatar billede wesso Juniormester
15. maj 2012 - 16:03 #1
Hvordan sender man en variable værdi fra html til XSLT ??
Avatar billede jokkejensen Novice
15. maj 2012 - 16:52 #2
Hvad miljø kører du i ? .net ?
Avatar billede jokkejensen Novice
15. maj 2012 - 16:58 #3
Med JS (jeg vil anbefale serverscript)

tilføj : xmlns:js="urn:custom-javascript"

<msxsl:script language="JavaScript" implements-prefix="js">
<![CDATA[
  function getQueryVariable(variable) {
        var query = window.location.search.substring(1);
        var vars = query.split("&");
        for (var i = 0; i < vars.length; i++) {
            var pair = vars[i].split("=");
            if (pair[0] == variable) {
                return unescape(pair[1]);
            }
        }       
    }
]]>
</msxsl:script>

<xsl:value-of select="js:getQueryVariable('barcodeTotal')" />

Så noget ala:

<xsl:variable name="barcodeTotalNr">
<xsl:choose>
<xsl:when test="string-length(js:getQueryVariable('barcodeTotal')) &gt; 0">
<xsl:value-of select="js:getQueryVariable('barcodeTotal')" />
<xsl:when>
<xsl:otherwise>14</xsl:otherwise>
</xsl:variable>

kald den med normalize-space($barcodeTotalNr)

/J
Avatar billede jokkejensen Novice
15. maj 2012 - 16:58 #4
(ikke testet :) )
Avatar billede wesso Juniormester
16. maj 2012 - 09:45 #5
Tak Jokke... jeg skal prøve det ... ellers skriver jeg tilbage :-)
Avatar billede wesso Juniormester
16. maj 2012 - 14:18 #6
Tak for hjælpen...
Hvordan giver man point ??
Avatar billede wesso Juniormester
16. maj 2012 - 14:19 #7
tak
Avatar billede jokkejensen Novice
16. maj 2012 - 17:08 #8
jeg smider lige et svar, men bare lige skriv en intern besked hvis det driller - er ikke så god til at følge op på diverse spørgsmål :)
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