我有一个 html 形式的输入框和那个框的 onKeyPress 我需要像谷歌一样使用 servlet 搜索该输入文本框中的文本。但是当我按下回车键时,浏览器地址栏中的 url 发生了变化,请求没有发送到 servlet。可以做些什么来避免这种情况?
HTML文件中的输入文本框
<input type="text" id="query" name="query" size="45" onkeypress="searchKeyPress(event)">
SearchKeyPress(e) 代码
function searchKeyPress(e)
{
if (typeof e == 'undefined' && window.event) { e = window.event; }
if (e.keyCode == 13)
{
createHttpRequest();
}
}
createHttpRequest用于调用servlet SearchService:
var url="http://localhost:8080/final_project/SearchService?user_query="+getQueryString();
request.onreadystatechange = handleSearchResult;
request.open("GET",url,true);
request.send(null);
最佳答案
改变你的脚本:
if (e.keyCode == 13)
{
createHttpRequest();
return false;
}
和你的 html
onkeypress="return searchKeyPress(event)"
这将阻止提交表单
关于javascript - 输入框的onKeyPress(在html中)调用servlet而不更改浏览器地址栏中的url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10110150/