2013-03-07 2 views
-1

Так что у меня этот скриптДобавить текст в Javascript

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";

но URL выходит так:

mysite.com/?s=OptionA+OptionB%26post_type%3Dproduct , Что мне нужно сделать?

Это код продукта 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> 
+2

Dup/Related: http://stackoverflow.com/questions/332872/how-to-encode-a-url-in-javascript – elclanrs

+0

@elclanrs - Я думаю, что это наоборот. то есть «Как отключить автоматическое кодирование URL-адресов». – techfoobar

ответ

0

Это швы как ваш скрипт кодирует значение поиска после того, как линии, которую вы ссылаетесь, что приводит к вашей дополнительной части будучи в кодировке URL, а также. Найдите строку, которая говорит что-то вроде something = encodeURIComponent(search.value) или something = encodeURI(search.value). Вам придется добавить дополнительные данные URL-адреса в переменную something после того, как она была закодирована.

+0

Я искал это, но ничего не нашел. – user1689166

+0

Тогда вам нужно будет отправить больше кода. Вы должны сделать jsfiddle =) –

+0

Я разместил свой полный код. – user1689166

Смежные вопросы