在 jQuery 中,对于表单提交按钮或图像,我们似乎可以使用其中之一
$('#search-box-submit').click(function() {
if ($('#search-box-submit').val().match(/^\s*$/)) {
alert("Please enter search keywords");
return false; // stop the search request
}
});
或者我们可以使用提交
:
$('#search-box-submit').submit(function() {
if ($('#search-box-submit').val().match(/^\s*$/)) {
alert("Please enter search keywords");
return false; // stop the search request
}
});
更新:实际上,click
可以防止使用空关键字进行搜索,但 submit
并不能防止这种情况。这是为什么?
更新 2: 我很惊讶在 Firefox 或 Chrome 中,定义 click
处理程序实际上可以在不输入任何内容的情况下按 Enter出色地。所以看起来 Firefox 和 Chrome 内置了这种智能。如果我使用 IE 8,那么它将继续使用空字符串进行搜索(向服务器请求)
最佳答案
您正在比较两个元素的两个不同事件。单击事件用于按钮,提交事件用于表单。在单击内部返回 false 会阻止表单提交的原因是表单永远不会收到有关单击事件的通知。不过,您需要使用提交。
关于jquery - 使用 jQuery,我们是否可以通过 "click"或 "submit"捕获提交按钮的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5751744/