我正在尝试捕获Enter键,如下所示:
$("#txt1").keypress(function(event){
if(event.which==13) //Also tried using event.keycode
$("#add").load("newjsp.jsp?q="+this.value)
})
但是,每当我按Enter键时,该文本就会被删除,并且不会以应有的形式(#add)显示。我怎样才能做到这一点?
我在以下代码中也遇到了问题,
$("#txt1").keyup(function(event){
$("#add").load("newjsp.jsp?q="+this.value)
})
<form>
Comment: <input type="text" id="txt1"></input>
</form>
<p><p></p></p>
<form id="add">
</form>
当我运行此代码时,文本框中的文本将添加到我的表单(
#add
)中,但是当我按空格键时,该文本将被删除(从#add
表单而不是文本框中删除),然后不再文字已添加。我尝试使用keydown
和keypress
,但是仍然存在相同的问题。我无法理解问题所在,因为this.value在文本框中为我提供了完整的值!包括空格。 最佳答案
您的第一个例子是正确的例子。除非您需要在按“ enter”后防止事件冒泡。默认情况下按Enter即可提交表单。 FinalFrag关于空格是正确的
$('#txt1').keypress(function(e){
if (e.which===13) {
e.preventDefault();
e.stopImmediatePropagation();
$("#add").load("newjsp.jsp", {q: $(this).val()} );
}
});
*编辑以反映Tomalak的评论。