-1

所以我有这个脚本

search.value = document.getElementById('OptionA').value + " " + document.getElementById('OptionB').value;

这有助于我在 wordpress 上进行搜索并将搜索 url 更改为如下内容:mysite.com/?s=OptionA+OptionB,但我需要这样的内容:

mysite.com/?s=OptionA+OptionB&post_type=产品。

我试图将脚本更改为:

search.value = document.getElementById('OptionA').value + " " + document.getElementById('OptionB').value + "&post_type=product";

但网址是这样的:

mysite.com/?s=OptionA+OptionB%26post_type%3Dproduct。我需要做什么?

这是 product-searchform.php 代码:

<script type="text/javascript" charset="utf-8">
    function choose (el) {
        search = document.getElementById('search_done');
        search.value = document.getElementById('OptionA').value + " " + document.getElementById('OptionB').value + "&post_type=product";
    }
</script>

<form role="search" method="get" id="searchform" action="<?php bloginfo('siteurl'); ?>">

<p>Food</p>
<select name='' id='OptionA' onchange="choose(this);">
  <option value=''selected='selected'>----</option>
  <option value="Sandwich">Sandwich</option>
  <option value="Hamburger">Hamburger</option>
</select> 



<p>Beverage</p>
<select name='' id='OptionB' onchange="choose(this);">
  <option value=''selected='selected'>----</option>
  <option value="Soda">Soda</option>
  <option value="Juice">Juice</option>
</select> 
   <input type="hidden" id="search_done" value="" name="s" />
   <input type="submit" id="searchsubmit" value="">

</form>
4

1 回答 1

0

它看起来像您的脚本在您引用的行之后对搜索值进行编码,从而导致您的额外部分也被 url 编码。寻找一条写着类似something = encodeURIComponent( search.value )or的行something = encodeURI( search.value )something编码后,您必须将额外的 url 数据附加到变量中。

于 2013-03-07T10:26:24.860 回答