使用窗口位置传递变量 url

Passing var url using window location

本文关键字:变量 url 位置 窗口      更新时间:2023-09-26

尝试在窗口中打开搜索结果(输入并单击(看起来代码正在做我希望它做的事情,除了访问实际的搜索网址之外,非常感谢任何帮助。

该网站也在 dev 上,因此如果您输入搜索词,您可以理解我的意思。http://staging.asla.org/2014awards/index.html

法典:

 <script type="text/javascript">
    $(document).ready(function() {
      $('form[role="search"]').submit(function() {
        var url = "http://asla.org/awardssearch.html";
        url += "?s=" + $('#GoogleCSE').val();
        window.location = url;
      });
   });
 </script>
 <form class="navbar-form navbar-right" role="search">
      <div class="search">
        <input id="GoogleCSE" type="text" onblur="if(this.value=='')this.value=this.defaultValue;" onfocus="if(this.value==this.defaultValue)this.value='';" value="Search All Awards" name="Search All Awards" />
        <input id="submit" type="submit" value="Search" />
      </div>
 </form>

设置location不起作用,因为浏览器已经开始发布表单。浏览器将转到表单中 action 属性中指定的页面,由于您没有页面,它将使用当前页面。

使用 preventDefault 方法停止发布表单:

$('form[role="search"]').submit(function(e) {
  e.preventDefault();
  ...

导致的问题是由于焦点和 onblir 事件,您尝试显示占位符文本,将输入文本更改为

      <input id="GoogleCSE" type="text" placeholder="Search All Awards"/>

它应该有效。