Avatar billede den-evil Nybegynder
19. juni 2009 - 09:30 Der er 9 kommentarer

Gem den søgning jeg laver

Er lige lidt i tvivl om hvordan jeg lige får gemt i min søgning her, har denne form der er nedenstående - Dog gemmes den ikke når den bliver udført - Jeg har variablerne tilgængelig i querystring, men er i tvivl om hvordan jeg fikser det med XSLT:

fx, så Concept kan hentes sådan med XSLT:
<xsl:value-of select="Server.Request.concept" />

<form name="EcomSearch" action="Default.aspx" method="get">
                                <xsl:variable name="SearchPageID">
                                    <xsl:value-of select="Ecom.Search.Page.ID"/>
                                </xsl:variable>
                                <input type="hidden" name="ID" value="{$SearchPageID}"/>
                                <input type="hidden" name="eComSearch" value="1"/>
                                <label for="gruppe">Type:</label>
                                <select name="Concept" id="gruppe">
                                    <option value="">Vælg:</option>
                                    <option value="AABNE-VOGNE">Åbne vogne</option>
                                    <option value="LUKKEDE-VOGNE">Lukkede vogne</option>
                                    <option value="RES-DEL-UDSTYR">Materiel-transport</option>
                                    <option value="RES-DEL-UDSTYR">Tippere</option>
                                    <option value="RES-DEL-UDSTYR">Auto og MC transportere</option>
                                </select>
                                <label for="price">Pris max:</label>
                                <select name="Price_Max" id="price">
                                    <optgroup label="Pris max">
                                        <option value="">Vælg:</option>
                                        <option value="5000">5000,- dkk</option>
                                        <option value="10000">10000,- dkk</option>
                                        <option value="15000">15000,- dkk</option>
                                        <option value="30000">30000,- dkk</option>
                                        <option value="50000">50000,- dkk</option>
                                        <option value="100000">100000 ,- dkk</option>
                                    </optgroup>
                                </select>
                                <label for="totalvaegt">Totalvægt:</label>
                                <select name="PropertyField_PROPFIELD56" id="totalvaegt">
                                    <optgroup label="Max totalvægt">
                                        <option value="">Vælg:</option>
                                        <option value="500 kg">500 kg</option>
                                        <option value="750 kg">750 kg</option>
                                        <option value="1000 kg">1000 kg</option>
                                        <option value="1500 kg">1500 kg</option>
                                        <option value="2000 kg">2000 kg</option>
                                        <option value="2500">2500 kg</option>
                                        <option value="3000 kg">3000 kg</option>
                                        <option value="3500 kg">3500 kg</option>
                                    </optgroup>
                                </select>
                                <input type="submit" class="searchinput2" value="Søg"/>
                            </form>
Avatar billede jokkejensen Novice
29. juni 2009 - 10:39 #1
<xsl:template name="Selector_Price">
        <xsl:param name="SelectValue"></xsl:param>
        <xsl:variable name="Options">
            <root>
                <o value="5000">5000,-</o>
                <o value="15000">15000,-</o>
            </root>
        </xsl:variable>
        <xsl:for-each select="msxsml:node-set($Options)">
            <xsl:choose>
                <xsl:when test="$SelectValue = @value"
                    <option value="@value" selected="selected">.</option>
                </xsl:when>
                <xsl:otherwise>
                    <option value="@value">.</option>
                </xsl:otherwise>
            </xsl:choose>           
        </xsl:for-each>
    </xsl:template>





....


<xsl:call-template name="Selector_Price">
<xsl:with-param name="SelectedValue" select="number(5000)" />
</xsl:call-template>


Sådan ville jeg bygge.

/J
Avatar billede jokkejensen Novice
29. juni 2009 - 10:40 #2
.. du tilføjer bare flere <o> i variablen.. eller henter dem dynamisk.

/J
Avatar billede jokkejensen Novice
29. juni 2009 - 10:40 #3
sorrry

<xsl:for-each select="msxsml:node-set($Options/o)">
Avatar billede jokkejensen Novice
29. juni 2009 - 10:40 #4
argh  <xsl:for-each select="msxsml:node-set($Options)/o">

... der mangler en rediger knap :)
Avatar billede den-evil Nybegynder
06. juli 2009 - 15:03 #5
Hmm, der må jeg desværre indrømme jeg står lidt af - Kan du evt lave et eksempel ud fra dette, bare på prisen? Prisen får du fra variablen pricemax, den henter den pris man har valgt (i querystringen)



<xsl:when test="GlobalTags/Global.Area.Lang = 'da'">
        <xsl:choose>
          <!-- Erhverv Søg -->

          <xsl:variable name="pricemax">
            <xsl:value-of select="Server.Request.price_max"/>
          </xsl:variable>

          <xsl:when test="GlobalTags/Global.Page.Top.ID = 1">
            <div class="productsearch">
              <form name="EcomSearch" action="Default.aspx" method="get">
                <xsl:variable name="SearchPageID">
                  <xsl:value-of select="Ecom.Search.Page.ID"/>
                </xsl:variable>
                <input type="hidden" name="ID" value="{$SearchPageID}"/>
                <input type="hidden" name="eComSearch" value="1"/>
                <input type="hidden" name="PID" value="191" />
                <label for="gruppe">Type:</label>
                <select name="MainGroupID" id="gruppe">
                  <option value="">Vælg:</option>
                  <option value="AABNE-VOGNE">Åbne vogne</option>
                  <option value="LUKKEDE-VOGNE">Lukkede vogne</option>
                  <option value="MATERIELTRANSPORT">Materiel-transport</option>
                  <option value="TIPPERE">Tippere</option>
                  <option value="AUTO----MC-TRANSPORTERE">Auto og MC transportere</option>
                </select>
                <label for="price">Pris max:</label>
                <select name="Price_Max" id="price">
                  <optgroup label="Pris max">
                    <option value="">Vælg:</option>
                    <option value="10000">10000,- dkk</option>
                    <option value="20000">20000,- dkk</option>
                    <option value="30000">30000,- dkk</option>
                    <option value="40000">40000,- dkk</option>
                    <option value="50000">50000,- dkk</option>
                    <option value="100000">100000 ,- dkk</option>
                  </optgroup>
                </select>
                <label for="totalvaegt">Totalvægt:</label>
                <select name="PropertyField_PROPFIELD56" id="totalvaegt">
                  <optgroup label="Max totalvægt">
                    <option value="">Vælg:</option>
                    <option value="500 kg">500 kg</option>
                    <option value="750 kg">750 kg</option>
                    <option value="1000 kg">1000 kg</option>
                    <option value="1500 kg">1500 kg</option>
                    <option value="2000 kg">2000 kg</option>
                    <option value="2500 kg">2500 kg</option>
                    <option value="3000 kg">3000 kg</option>
                    <option value="3500 kg">3500 kg</option>
                  </optgroup>
                </select>
                <!--<label for="LadMaal">Ladm&#65533;l</label><input type="text" style="width: 60px;" name="PropertyField_PROPFIELD61" id="LadMaal"/><label for="vægt">Totalvægt:</label><input type="text" id="vægt" style="width: 60px;" name="PropertyField_PROPFIELD56"/><label for="NedfaldendeSider">Nedf. Sider</label><select name="PropertyField_PROPFIELD37" id="NedfaldendeSider"><option value="">Vælg:</option><option value="true">Ja</option><option value="false">Nej</option></select>-->
                <input type="submit" class="searchinput2" value="Søg"/>
              </form>
            </div>
          </xsl:when>
Avatar billede jokkejensen Novice
06. juli 2009 - 15:19 #6
<xsl:when test="GlobalTags/Global.Area.Lang = 'da'">
        <xsl:choose>
          <!-- Erhverv Søg -->

          <xsl:variable name="pricemax">
            <xsl:value-of select="Server.Request.price_max"/>
          </xsl:variable>

          <xsl:when test="GlobalTags/Global.Page.Top.ID = 1">
            <div class="productsearch">
              <form name="EcomSearch" action="Default.aspx" method="get">
                <xsl:variable name="SearchPageID">
                  <xsl:value-of select="Ecom.Search.Page.ID"/>
                </xsl:variable>
                <input type="hidden" name="ID" value="{$SearchPageID}"/>
                <input type="hidden" name="eComSearch" value="1"/>
                <input type="hidden" name="PID" value="191" />
                <label for="gruppe">Type:</label>
                <select name="MainGroupID" id="gruppe">
                  <option value="">Vælg:</option>
                  <option value="AABNE-VOGNE">Åbne vogne</option>
                  <option value="LUKKEDE-VOGNE">Lukkede vogne</option>
                  <option value="MATERIELTRANSPORT">Materiel-transport</option>
                  <option value="TIPPERE">Tippere</option>
                  <option value="AUTO----MC-TRANSPORTERE">Auto og MC transportere</option>
                </select>
                <label for="price">Pris max:</label>
                <!-- HER !!! -->
                <xsl:call-template name="Selector_Price">
                    <xsl:with-param name="SelectValue" select="number($pricemax)" />
                </xsl:call-template>
                <!--- Slut for pris. -->
                <label for="totalvaegt">Totalvægt:</label>
                <select name="PropertyField_PROPFIELD56" id="totalvaegt">
                  <optgroup label="Max totalvægt">
                    <option value="">Vælg:</option>
                    <option value="500 kg">500 kg</option>
                    <option value="750 kg">750 kg</option>
                    <option value="1000 kg">1000 kg</option>
                    <option value="1500 kg">1500 kg</option>
                    <option value="2000 kg">2000 kg</option>
                    <option value="2500 kg">2500 kg</option>
                    <option value="3000 kg">3000 kg</option>
                    <option value="3500 kg">3500 kg</option>
                  </optgroup>
                </select>
                <!--<label for="LadMaal">Ladm&#65533;l</label><input type="text" style="width: 60px;" name="PropertyField_PROPFIELD61" id="LadMaal"/><label for="vægt">Totalvægt:</label><input type="text" id="vægt" style="width: 60px;" name="PropertyField_PROPFIELD56"/><label for="NedfaldendeSider">Nedf. Sider</label><select name="PropertyField_PROPFIELD37" id="NedfaldendeSider"><option value="">Vælg:</option><option value="true">Ja</option><option value="false">Nej</option></select>-->
                <input type="submit" class="searchinput2" value="Søg"/>
              </form>
            </div>
          </xsl:when>



/ny template


<xsl:template name="Selector_Price">
        <xsl:param name="SelectValue"></xsl:param>
        <xsl:variable name="Options">
            <root>
                <o value="10000">10000,-</o>
                <o value="20000">20000,-</o>
                <o value="30000">30000,-</o>
                <o value="40000">40000,-</o>
                <o value="50000">50000,-</o>
                <o value="60000">60000,-</o>
            </root>
        </xsl:variable>
        <xsl:for-each select="msxsml:node-set($Options)">
            <xsl:choose>
                <xsl:when test="$SelectValue = @value">
                    <option value="@value" selected="selected"><xsl:value-of select="."/></option>
                </xsl:when>
                <xsl:otherwise>
                    <option value="@value"><xsl:value-of select="."/></option>
                </xsl:otherwise>
            </xsl:choose>           
        </xsl:for-each>
    </xsl:template>



Husk at importere msxml ns i dit stylesheet:

xmlns:msxml="urn:schemas-microsoft-com:xslt"

Bemærk lige intet er testet, lav en temp admin på den synkron, så skal jeg nok spytte det derind, det er svært at sætte et testscenearie op. Men ellers kør det lige gennem en validator, eller sig til så giver vi den et forsøg mere :)

Vh.
Avatar billede jokkejensen Novice
06. juli 2009 - 15:19 #7
how, wrap lige en <select> omkring <xsl:call-template />
Avatar billede den-evil Nybegynder
07. juli 2009 - 11:19 #8
Perfekt, jeg takker mange gange, smider du et svar?
Avatar billede jokkejensen Novice
10. juli 2009 - 13:53 #9
np, selv tak !
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