好吧,所以基本上,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();
}
});
答案 0 :(得分:0)
第一个问题是您的ID在Javascript和HTML中有所不同。
第二点是在keyup函数中你没有使用&#34;#&#34;在选择器中。如果要按ID选择元素,则需要使用&#34;#&#34; char和名字。如果要选择使用类名,则需要使用&#34;。&#34;而不是&#34;#&#34;。
我只使用jQuery重写代码。 I.E。:document.getElementById是JavaScript中用于选择元素的本机方式,我替换为使用jQuery选择器。
试试这个:
$(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;
答案 1 :(得分:0)
我不确定你的代码是否只是一个简单的例子或最终产品,但你在这里有很多错误。我只想发布一个有效的例子,你可以遵循它。
您的ID未正确命名或与您的jquery选择器匹配。您有一个不需要的onclick事件
$(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">