我有一个标准的登录表单-使用HTML / jQuery的AIR项目上的电子邮件文本字段,密码字段和提交按钮。 当我在表单上按Enter键时,整个表单的内容消失了,但是表单没有提交。 有谁知道这是Webkit的问题(Adobe AIR使用Webkit的HTML)还是我捆绑了东西?
我试过了:
$('.input').keypress(function (e) {
if (e.which == 13) {
$('form#login').submit();
}
});
但这既没有停止清算行为,也没有提交表格。 没有与表单相关的操作-可能是问题吗? 我可以在动作中添加JavaScript函数吗?
#1楼
尝试这个:
var form = document.formname;
if($(form).length > 0)
{
$(form).keypress(function (e){
code = e.keyCode ? e.keyCode : e.which;
if(code.toString() == 13)
{
formsubmit();
}
})
}
#2楼
$('.input').keypress(function (e) {
if (e.which == 13) {
$('form#login').submit();
return false; //<---- Add this line
}
});
看看这个stackoverflow答案: event.preventDefault()vs. return false
本质上,“ return false”与调用e.preventDefault
和e.stopPropagation()
。
#3楼
这是一种作为JQuery插件执行此操作的方法(以防您想重新使用该功能):
$.fn.onEnterKey =
function( closure ) {
$(this).keypress(
function( event ) {
var code = event.keyCode ? event.keyCode : event.which;
if (code == 13) {
closure();
return false;
}
} );
}
现在,如果您要使用这种功能来装饰,就这么简单:
$('#your-input-id').onEnterKey(
function() {
// Do stuff here
} );
#4楼
只需添加即可轻松实现。 您可以简单地创建一个表单,然后将“提交”按钮隐藏起来:
例如:
<form action="submit.php" method="post">
Name : <input type="text" name="test">
<input type="submit" style="display: none;">
</form>
#5楼
这是我的代码:
$("#txtMessage").on( "keypress", function(event) {
if (event.which == 13 && !event.shiftKey) {
event.preventDefault();
$("#frSendMessage").submit();
}
});
来源:oschina
链接:https://my.oschina.net/stackoom/blog/3162400