javascript - 输入框的onKeyPress(在html中)调用servlet而不更改浏览器地址栏中的url

标签 javascript html

我有一个 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/

相关文章:

javascript - Jquery Accordion 关闭

javascript - AngularJs 从未定义的 Controller 调用服务函数

javascript - jwplayer 音频无法在 Firefox 中工作抛出此错误日志 "No suitable players found and fallback enabled"

javascript - 如何使用 Javascript 检索 <video> 元素的长度(以秒为单位)?

html - 悬停后瞬间出现的伪元素

javascript - 文本不会写入页面,但会显示在alert() 消息中。 JavaScript 和 HTML

html - 根据搜索框中的值过滤表格行

javascript - 使用 mocha 模拟 Nodejs 中的函数

javascript - 如何使用正则表达式和 jQuery 将两个单独的字符串替换为两个单独的替换字符串?

php - 来自类别循环的 Woocommerce 产品