点击功能有问题
Having issue with click function
$('#delete').click(function (e) {
e.preventDefault();
var result = true;
if($('.checkbox:checked').length < 1) {
$.notifyBar({
cls: "error",
html: 'At least 1 checkbox must be checked.',
delay: 5000
});
result = false;
}
return result;
});
问题是如果一切顺利,按钮不会提交表单有什么不对吗?
对e.preventDefault()
的调用阻止了按钮的默认操作,即提交表单。 仅当您不希望发生提交时,才需要调用它。
$('#delete').click( function(e) {
if($('.checkbox:checked').length<1){
$.notifyBar({
cls: "error",
html: 'At least 1 checkbox must be checked.',
delay: 5000
});
// Invalid, stop the submit
e.preventDefault();
}
})
我认为这就是您要做的:
$('#delete').click(function (e) {
var result = true;
if($('.checkbox:checked').length < 1) {
$.notifyBar({
cls: "error",
html: 'At least 1 checkbox must be checked.',
delay: 5000
});
result = false;
}
if(!result) e.preventDefault();
});
调用 e.preventDefault();
将阻止提交按钮提交,无论您从函数返回什么。在我的编辑中,仅当结果为假时,才会阻止默认操作。
使用 e.preventDefault();
将阻止表单提交,即使返回true
也是如此。
您应该将其放在 onsubmit 处理程序中,而不是单击处理程序中。此外,请确保希望他们单击的按钮类型为提交:
function doSubmit()
{
var result = true;
if($('.checkbox:checked').length < 1) {
$.notifyBar({
cls: "error",
html: 'At least 1 checkbox must be checked.',
delay: 5000
});
result = false;
}
return result;
}
<form onsubmit="return doSubmit()">
Checkboxes....
<input type="submit" value="submit" />
</form>
相关文章:
- 这个条件语句的逻辑有问题
- 什么'这个javascript代码getElementById有问题
- 如何处理流星变量&对miniMongo有问题
- 谷歌表单xml有问题
- Html、css和jQuery.我的代码有问题
- 有问题的突出显示(悬停)一个系列,突出显示图表
- D3 折线图示例 - 日期有问题
- 页面刷新后javascript内存泄漏有问题吗?为什么?
- 有问题的键代码186和222,如何捕捉它们
- 循环 += 十进制变量的 javascript 有问题
- 随机数生成器,what'我的方法/统计数据有问题吗?[JS]
- 为了在列表中搜索,角度过滤器有问题
- 从根本上说,函数调用出了问题.功能在控制台中确实有效
- 我对按钮的作用域有问题'的听众
- 子菜单链接上的每次单击功能都有问题
- 编辑:I'我的按钮及其功能有问题
- 滑动功能有问题
- 点击功能有问题
- 焦点和模糊功能有问题
- 我的流星地理定位功能有问题