2

我有这个

$("#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;
                    })

我想了解为什么会发生这种情况以及如何使其发挥作用。

谢谢!

4

2 回答 2

2

属性长度不是一种方法。

使用$("#newsletterSelSpec div").length > 0.


preventDefault()您可以使用第一个参数中的方法来防止事件的默认行为。( event)。

$("#formNewsletter").submit(function(event) {
    event.preventDefault();

    if($("#newsletterSelSpec div").length() > 0)
        {
            alert("Good");
        }
    else
        {
            alert("Please add at least one speciality!");
        }
});

不确定,但问题可能是警报停止了脚本的进程,而不是提交事件。

于 2012-06-06T10:51:15.587 回答
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
于 2012-06-06T10:48:48.440 回答