我有一个带有html输入和顶部按钮的asp.net web表单,我需要将其用作搜索框。我需要集成的网页模板与一个用php编写的页面,所以我试图写的搜索框代码,作为与asp.net和php兼容,我可以。
也就是说,我不希望这个按钮是一个提交按钮,因为我不想让它干扰出现在它下面的页面上的任何按钮,这些按钮可能必须是提交按钮本身。
当我单击Go按钮时,一切都按预期工作。很多用户,包括我自己,更喜欢点击enter按钮,然后假设它会点击Go按钮。因为它不是一个提交按钮,所以当我在文本框中点击return时,即使使用onkeydown中的代码来运行搜索/重定向功能,它所做的也只是刷新页面。
搜索框/按钮:
<input onkeydown="if (event.keyCode == 13) doSearch() " id="search" type="text" name="search" value="Search" style="width: 116px;" /><input id="btSearch" onclick="doSearch();" style="width: 33px; margin-left: 2px;" type="button" value="Go" />搜索功能:
function doSearch() {
var query = document.getElementById("search").value;
window.location = "/Search.aspx?" + query;
}当我点击enter时,会截获重定向到搜索页的什么内容?
发布于 2011-10-21 05:17:43
很可能您的论坛仍在提交中。添加return false以取消此操作:
<input onkeydown="if (event.keyCode == 13) ( doSearch(); return false; )" id="search" type="text" name="search" value="Search" style="width: 116px;" /><input id="btSearch" onclick="doSearch(); return false;" style="width: 33px; margin-left: 2px;" type="button" value="Go" />您也可以在onsubmit处理程序中执行此操作,以便在一个调用中同时处理这两个处理程序。
https://stackoverflow.com/questions/7842343
复制相似问题