脚本发给我search.html?而不是所需的网站

时间:2016-02-29 16:24:49

标签: jquery

好吧,所以基本上,index.html包含一个搜索栏,它不会做什么 - 当按下输入时,它应该带我去google.com/(gsecode)q= (我输入的是什么),但是它将我发送给index.html?而不是我希望它使用JQuery脚本来触发按钮单击。我一直在寻找解决方案,但它们似乎不起作用。

HTML:

<input type="text" id="text-box" size="size">
<input type="submit" id="submit" onclick="(javascriptcode)" name="Google Search">

JQuery的:

document.getElementById("id_of_button").onclick = function() {clickFunction()};

function clickFunction() {
  document.location.href = 'https://cse.google.com/cse?cx=009002930969338329916:kta6o_isob0&q=' +
  escape(document.getElementById('search-box').value)
}

$("text-box").keyup(function(event){
  if(event.keyCode === 13){
      $("#submit").click();
  }
});

2 个答案:

答案 0 :(得分:0)

第一个问题是您的ID在Javascript和HTML中有所不同。

第二点是在keyup函数中你没有使用&#34;#&#34;在选择器中。如果要按ID选择元素,则需要使用&#34;#&#34; char和名字。如果要选择使用类名,则需要使用&#34;。&#34;而不是&#34;#&#34;。

我只使用jQuery重写代码。 I.E。:document.getElementById是JavaScript中用于选择元素的本机方式,我替换为使用jQuery选择器。

试试这个:

&#13;
&#13;
$(document).ready(function () {
  
  $("#submit").click(function () {
    
    var url = 'https://cse.google.com/cse?cx=009002930969338329916:kta6o_isob0&q=' +
           escape($('#text-box').val());
    
    document.location.href = url;
  });


  $("#text-box").keyup(function(event){
      if(event.keyCode === 13){
         $("#submit").click();
      }
  });  
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="text" id="text-box" size="size">
<input type="submit" id="submit" value="Google Search">
&#13;
&#13;
&#13;

答案 1 :(得分:0)

我不确定你的代码是否只是一个简单的例子或最终产品,但你在这里有很多错误。我只想发布一个有效的例子,你可以遵循它。

您的ID未正确命名或与您的jquery选择器匹配。您有一个不需要的onclick事件

Heres the fiddle!

$(document).on('click', '#myButtonId', function() {
    clickFunction();
});

function clickFunction() {
    alert('normally this would run your document location href, but were in jsfiddle so...');
      document.location.href = 'https://cse.google.com/cse?cx=009002930969338329916:kta6o_isob0&q=' +
  escape($('#mySearchBoxId').val());
}

$('#mySearchBoxId').keyup(function(event){
      if(event.keyCode === 13){
      $("#myButtonId").click();
  }
});

<input type="text" id="mySearchBoxId" size="30">
<input type="submit" id="myButtonId" value="Google Search">