试图搜索这些家伙抱歉。只有当用户点击搜索按钮时,只有当您按Enter键时,搜索框中的输入才会起作用(或搜索)。我究竟做错了什么?这是我的代码。谢谢。
<script type="text/javascript">
$(document).ready(function() {
$("#submit").click(function() {
var url = "http://asla.org/awardssearch.html";
url += "?s=" + $('#GoogleCSE').val();
window.location = url;
});
$('#GoogleCSE').keydown(function(event) {
if (event.keyCode == '13') {
$("#submit").click();
}
else {
//do nothing :)
}
});
});
</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="button" value="Search" />
</div>
</form>
答案 0 :(得分:3)
如果您将#submit
元素type
更改为&#34;提交&#34;,则无论如何都不需要自己手动处理,因为这是默认浏览器行为:
<input id="submit" type="submit" value="Search" />
现在,我们可以改为处理#submit
元素form
事件,而不是处理submit
按钮的点击事件:
$('form[role="search"]').submit(function() {
var url = "http://asla.org/awardssearch.html";
url += "?s=" + $('#GoogleCSE').val();
window.location = url;
});
答案 1 :(得分:1)
通过$("#submit").click()
,您只需触发自己添加的点击处理程序,而不是点击它时的控件默认行为。
改为使用yourForm.submit()
并更改其回调中的网址:
$("#yourForm").submit(function() {
var url = "http://asla.org/awardssearch.html";
url += "?s=" + $('#GoogleCSE').val();
window.location = url;
});