2017-03-03 58 views
-1

我張貼在hidden領域的隱藏價值爲另一種形式是這樣的:

<xsl:element name="input"> 
     <xsl:attribute name="name"> 
      <xsl:value-of select="'server'"/> 
     </xsl:attribute> 
     <xsl:attribute name="type"> 
      <xsl:value-of select="'hidden'"/> 
     </xsl:attribute> 
     <xsl:attribute name="value"> 
      <xsl:value-of select="@server"/> 
     </xsl:attribute> 
</xsl:element> 

但這只是工作的時候,我可以把屬性或元素一樣的值以上。

我怎麼會通過諸如$_REQUEST['nq']請求的價值?

$_REQUEST['nq']從正被此XSLT樣式頁面PHP頁面來。

我嘗試這樣做:

<xsl:element name="input"> 
     <xsl:attribute name="type"> 
      <xsl:value-of select="'hidden'"/> 
     <xsl:attribute name="name"> 
      <xsl:value-of select="'value'"/> 
     </xsl:attribute> 
     <xsl:attribute name="value"> 
      <xsl:value-of select="$nq"/> 
     </xsl:attribute> 
</xsl:element> 

但它不工作!

的XSLT是通過把這個在PHP頁面結束時運行:

$xslt = new XSLTProcessor(); 
$xslDoc = new DOMDocument(); 
$xslDoc>load('nginxSearchFull.xsl', LIBXML_NOCDATA); 
$xslt>importStylesheet($xslDoc); 
echo $xslt>transformtoXML($xmlDom1); 
+1

什麼是'$ _REQUEST [ 'NQ']',是PHP?你如何運行XSLT? –

+1

請更詳細信息添加到像正是你正在嘗試做的,哪些是你現在所擁有的 – Vinit

+0

爲什麼所有這些冗長的代碼,當你可以寫''。他們是否按照您寫的代碼行數付款? –

回答

1

定義您的XSLT代碼全球<xsl:param name="nq"/>,那麼你可以使用<input type="hidden" name="value" value="{$nq}"/>由邁克爾·凱的建議,如果你設置$xslt->setParameter('', 'nq', $_REQUEST['nq']);在您的PHP中,在調用XSLTProcessor上的transform方法之前。

+0

好的,謝謝。 – Kieran