Blogger:使用参数进行html搜索

时间:2018-07-31 10:36:07

标签: html html5 blogger

我遇到了问题,我在博客中创建了模板,并且在那里要搜索带有标签的文本,需要以下网址:

  

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的情况下我该怎么做?

2 个答案:

答案 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>