1

我有一个 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);
4

2 回答 2

2

更改您的脚本:

if (e.keyCode == 13)
{
    createHttpRequest();
    return false;
}

和你的 html 到这个

onkeypress="return searchKeyPress(event)"

这将阻止提交表单

于 2012-04-11T16:38:20.170 回答
0

您需要防止提交表单的默认行为。文档在这里

于 2012-04-11T16:37:21.297 回答