如何在输入密钥上刷新html文本框?

时间:2012-01-02 12:30:00

标签: html textbox enter page-refresh

我只是想问一下当我按回车键时如何阻止我的html文本框刷新。

<div id="topSearchBox">
   <input id="Text1" type="text" value="search..."/>
   <img id="topSearchBoxIcon" alt="search buttom" src="~Images/Search-32x32.png" width="18px" height="18px" />
</div>

我有一个脚本告诉它做其他事情,但是在脚本完成之后它还是会刷新页面。

$(document).keyup(function (e) {
        if (e.keyCode == 13) { // enter
            Search();
        }
    });

我已经阅读了一些内容,但似乎没有任何效果。

4 个答案:

答案 0 :(得分:2)

$(document).keyup(function (e) {
  if (e.keyCode == 13) { // enter
    Search();
    return false; //you can also say e.preventDefault();
  }
});

答案 1 :(得分:1)

在事件中返回false以停止发生的默认事件(提交)。这假设正在触发提交事件。

$(document).keyup(function (e) {
    if (e.keyCode == 13) { // enter
        Search();
        return false; //this will stop the default event triggering 
    }
});

你也可以将它放在表格之外(如果它在里面)。

注意 - 此外,最好直接将事件绑定到您的输入。

$('#Text1').keyup();

答案 2 :(得分:1)

如果我很好理解,可能是页面刷新,因为您可能在输入文本字段之后有一个提交输入(或按钮),因此当您按下回车键时,您也会发送表单本身。

尝试使用

停止事件的传播
$(document).keyup(function (e) {
    if (e.keyCode == 13) { // enter
        e.stopPropagation();
        Search();
    }
})

答案 3 :(得分:0)

我在这里已经回答了。 https://stackoverflow.com/a/16016122/1047337 这是关于表单中只有一个文本框。