我有一个非常简单的
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. } });