微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 输入密钥以提交Ajax表单

我有一个非常简单的 AJAX表单,要求提供一个电子邮件地址,并在提交后发送给我.

如何在输入回车键时让表单提交?

这在用户单击提交按钮时运行:

<script type="text/javascript">
    $(document).ready(function () {
        $("#submit_btn").click(function () {
            // Get input field values:
            var user_email = $('input[name=email]').val();

            // Simple validation at client's end
            // We simply change border color to red if empty field using .css()
            var proceed = true;
            if (user_email === "") {
                $('input[name=email]').css('border-color','red');
                proceed = false;
            }

            // Everything looks good! Proceed...
            if (proceed) {
                /* Submit form via AJAX using jQuery. */
            }
        });

        // Reset prevIoUsly set border colors and hide all message on .keyup()
        $("#contact_form input,#contact_form textarea").keyup(function () {
            $("#contact_form input,#contact_form textarea").css('border-color','');
            $("#result").slideUp();
        });
    });
</script>

我知道之前已经问过这个问题 – 我无法使按键功能起作用.

我试过这个无济于事:

$("#contact_form").keypress(function (e) {
    if ((e.keyCode == 13) && (e.target.type != "textarea")) {
        e.preventDefault();
        // Get input field values
        var user_email = $('input[name=email]').val();

        // Simple validation at client's end
        // We simply change border color to red if empty field using .css()
        var proceed = true;

        if (user_email === "") {
            $('input[name=email]').css('border-color','red');
            proceed = false;
        }

        // Everything looks good! Proceed...
        if (proceed) {
            /* Submit form via AJAX using jQuery. */
        }
    }
});

表格是#contact_form.

任何帮助将不胜感激……

解决方法

只需将提交事件绑定到您的表单,然后输入键也将起作用:
$("#contact_form").submit(function (e) {
    e.preventDefault();
    // Get input field values
    var user_email = $('input[name=email]').val();

    // Simple validation at client's end
    // We simply change border color to red if empty field using .css()
    var proceed = true;

    if (user_email === "") {
        $('input[name=email]').css('border-color','red');
        proceed = false;
    }

    if (proceed) {
        // Insert the AJAX here.
    }
});

代码在这里http://jsfiddle.net/6TSWk/6/

原文地址:https://www.jb51.cc/ajax/159621.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐