我正在使用来自 opensolution 的 quick.cart 5.1 模板,来自 quick.cart 的搜索表单的基本功能是从网站上搜索产品,我改编了这个 jquery 自定义搜索http://tutorialzine.com/2010/09 /google-powered-site-search-ajax-jquery/以适应 container.tpl 中的 quick.cart 站点,原始搜索脚本是:
<!-- IF:START SEARCH-FORM -->
<form method="post" action="$sLinkSearch" id="searchForm">
<fieldset>
<span><label for="$lang[search]">$lang[search]</label><input type="text" size="15" name="sPhrase" id="$lang[search]" value="$sPhrase" class="input" maxlength="100" /></span>
<em><input type="submit" value="$lang[search] »" class="submit" /></em>
</fieldset>
</form><!-- IF:END SEARCH-FORM -->
我将其更改为:
<!-- IF:START SEARCH-FORM -->
<form method="post" action="$sLinkSearch" id="searchForm2">
<fieldset>
<span> <input id="s" type="text" / <
<em><input type="submit" value="$lang[search] »" class="submit" /></em>
</fieldset>
</form><!-- IF:END SEARCH-FORM -->
在将显示搜索结果 ( $sLinkSearch
) 的页面中,我输入了以下内容:
<div id="resultsDiv"> </div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="script.js"></script>
在 script.js 中,我$('#searchForm').submit();
在末尾添加了重新提交搜索表单,我所需要的只是一种方法,使用我刚刚提交的文本从搜索结果页面填充相同的搜索表单,以便显示所需的结果我尝试更改<input id="s" type="text" />
为<input id="s" type="text" value="<?php echo htmlspecialchars($_POST['terms'])?>" />
,但在搜索表单中会出现此消息:解析错误:语法错误,/home/vhosts/sunpower.eu5.org/core/libraries/tpl-parser.php(120) 中的意外: eval()'d 代码在第 1 行
,它不会正确运行。有没有其他方法可以在不使用 php 的情况下使用最后提交的文本填充下一个搜索表单?顺便说一下,上面提到的搜索表单的网站是http://www.sunpower.eu5.org