文本框数据不提交时,按ENTER,但工作在提交按钮(Rails/Bootstrap)



我正在使用Rails 4和Bootstrap 3。我在我的页面上有一个简单的电子邮件地址框(位于localhost:3000)。点击SUBMIT按钮将邮件地址发送到数据库(MongoDB);但是,按ENTER键只是将页面发送到localhost:3000/?url,不向数据库提交数据。谢谢你的帮助。下面是我的代码:

HAML页面:

%form#emailtextbox{role: "form"}
.form-group
    %input.form-control{placeholder: "Email address", type: "email", id: "emailbox"}/
%button.btn.btn-primary#btnSignup Submit!
Javascript:

$('#emailbox').keyup(function(e){
    if (e.keyCode == 13)
        SendSignup();
});
$('#btnSignup').on('click', function(){
    SendSignup();
});

当你点击回车键时,你的表单正在被提交。您需要拦截该操作或完全阻止它。

$('#yourformid').submit(function (e) {
    SendSignup();
    e.preventDefault();
});
我还建议不要完全使用下面的代码。不需要这样做,因为按enter键将提交表单,此时submit函数将拦截该事件。
$('#emailbox').keyup(function(e){
    if (e.keyCode == 13)
        SendSignup();
});

***********************

$('#emailbox').submit(function() {
    $('#btnSignup').trigger("click");
    return false;
});

最新更新