我有这个
$("#formNewsletter").submit(function(){
return false;
})
它按预期工作 - 表单未提交。 当我写这个时,似乎它返回true(表单正在发送)
$("#formNewsletter").submit(function(){
if($("#newsletterSelSpec div").length() > 0)
{
alert("Good");
}
else
{
alert("Please add at least one speciality!");
}
return false;
})
我想了解为什么会发生这种情况以及如何使其发挥作用。
谢谢!
答案 0 :(得分:2)
属性长度不是方法。
使用$("#newsletterSelSpec div").length > 0
。
您可以使用preventDefault()
来阻止事件的默认行为.witch是第一个参数中的方法。 (event
)。
$("#formNewsletter").submit(function(event) {
event.preventDefault();
if($("#newsletterSelSpec div").length() > 0)
{
alert("Good");
}
else
{
alert("Please add at least one speciality!");
}
});
不确定,但问题可能是警报会停止脚本进程而不是提交事件。
答案 1 :(得分:1)
$("#formNewsletter").submit(function(e) {
if ($("#newsletterSelSpec div").length > 0) {
alert("Good");
} else {
e.preventDefault(); // prevent the form submission
alert("Please add at least one speciality!");
}
});
您使用的是.length()
,但它应该只是.length
,这意味着
$("#newsletterSelSpec div").length