0
我已經修改了DSpace的搜索框中弄成這個樣子: 護搜索字符串幻影主題
用戶輸入搜索字符串搜索框中,並按下回車得到搜索結果。這會刷新頁面,因此用戶最初輸入的搜索字符串會丟失。我想在搜索框中保留搜索字符串。我試圖用javascript cookies來達到這個目的,因爲我覺得它是最簡單的解決方案之一。但是我沒有得到理想的結果。 下面是搜索表單代碼:
<form id="ds-search-box" method="post">
<xsl:attribute name="action">
<xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='contextPath']"/>
<xsl:value-of
select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='search'][@qualifier='simpleURL']"/>
</xsl:attribute>
<div class="wrap right rounded">
<input type="text" class="search left rounded" id="text-search" placeholder="Type name of book title, author, subject , keywords...">
<xsl:attribute name="name">
<xsl:value-of
select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='search'][@qualifier='queryField']"/>
</xsl:attribute>
<!--</input>
<input class="button-field" type="submit" i18n:attr="value"
value="xmlui.general.go">-->
<xsl:attribute name="onsubmit">
<xsl:text>
var a = document.getElementById("text-search");
document.cookie = a.value;
var s=document.cookie;
alert(s);
var form = document.getElementById("ds-search-box");
form.action=
</xsl:text>
<xsl:text>"</xsl:text>
<xsl:value-of
select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='contextPath']"/>
<xsl:text>/handle/" + radio.value + "</xsl:text>
<xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='search'][@qualifier='simpleURL']"/>
<xsl:text>" ; </xsl:text>
<xsl:text>
</xsl:text>
</xsl:attribute>
</input>
</div>
</form>
我保存的文本框的值在cookie中。
而且我已經列入page-structure.xsl
文件的JavaScript部分的代碼訪問的cookie:
<script type="text/javascript">
document.getElementById("text-search").value=document.cookie;
</script>