Javascript 当关注特定输入时,如何防止表单提交?
在JS/jQuery中,当一个字段关注表单提交时,如何防止表单提交,同时在所有其他输入字段上保持正常行为?尝试以下方法:Javascript 当关注特定输入时,如何防止表单提交?,javascript,jquery,forms,Javascript,Jquery,Forms,在JS/jQuery中,当一个字段关注表单提交时,如何防止表单提交,同时在所有其他输入字段上保持正常行为?尝试以下方法: $('#formID').on('submit', function(){ if ($('input:focus').length){return false;} }); 这是假设您尝试在不单击的情况下提交表单。因为当您单击提交时,输入有一个模糊事件并失去焦点 否则:那么您可能需要的就是您的答案。您可以使用以下选项: var prevent = false; $('
$('#formID').on('submit', function(){
if ($('input:focus').length){return false;}
});
这是假设您尝试在不单击的情况下提交表单。因为当您单击提交时,输入有一个模糊事件并失去焦点
否则:那么您可能需要的就是您的答案。您可以使用以下选项:
var prevent = false;
$('input').focus(function() {
prevent = true;
}).blur(function() {
prevent = false;
});
$('form').submit(function() {
if (prevent) {
return false;
}
});
参考资料我想应该是
$('input:focus')。length
因为jquery总是返回一个对象,即使它是空的。@jcubic,这一点很好。已编辑,如果提交是通过单击,也指向您的答案。无论输入是否有焦点,它都不会提交表单。
$('form').submit(function(e) {
e.preventDefault();
});