我有一个非常简单的
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/