我遇到了问题,我在博客中创建了模板,并且在那里要搜索带有标签的文本,需要以下网址:
www.my_blog.blogspot.com/search?q=label:打印机+ SearchText
我有这个代码:
<form action='/search' class='search' method='GET'>
<input name='q' placeholder='Пошук' type='text'/>
<input id='search_button' name='' title='Search' type='submit' value=''/>
</form>
结果:
www.my_blog.blogspot.com/search?q=SearchText
但是我需要使用以下参数进行搜索:
www.my_blog.blogspot.com/search?q=label:打印机+ SearchText
在没有JavaScript的情况下我该怎么做?
答案 0 :(得分:1)
我建议(如果您不想使用JS处理查询串联)使用隐藏输入创建多个查询属性:
www.my_site.com/search? category =打印机& q = SearchText
<form action='/search' class='search' method='GET'>
<input name='category' value='Printers' type='hidden'>
<input name='q' placeholder='Пошук' type='text'>
<input id='search_button' name='' title='Search' type='submit'>
</form>
嗯,如果您真的确实需要一个并且可以动态加入(前缀)查询参数值,例如:
www.my_site.com/search? q =类别:打印机+搜索文字
可以通过添加一些JS来实现(为简单起见,我将使用无所不在的jQuery库)
$('form.search').on('submit', function (e) {
// Prevent default form submit
// since we need to cunstruct a prefixed param value
e.preventDefault();
// Set prefix and get SearchText
var pfx = "Category:Printers+";
var val = $(this).find('[name=q]').val();
$.ajax({
url: this.getAttribute("action"),
data: { q : pfx + val } // Join prefix to value into "q" param
}).done(function(res) {
console.log(res); // Success
});
});
答案 1 :(得分:0)
您可以尝试以下方法:
function onSubmit(obj){
var searchText = document.getElementById("text").value;
var actionUrl = "/search?q=Category:Printers+"+searchText;
console.log(actionUrl);
obj.form.action=actionUrl;
obj.form.submit();
}
<form action='' class='search' method='GET'>
<input name='q' id="text" idplaceholder='Пошук' type='text'/>
<input id='search_button' id="search" name='' title='Search' onclick="onSubmit(this)"; type='button' value=''/>
</form>