Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery submit()-表单仍在发送_Javascript_Jquery_Submit - Fatal编程技术网

Javascript jQuery submit()-表单仍在发送

Javascript jQuery submit()-表单仍在发送,javascript,jquery,submit,Javascript,Jquery,Submit,我有这个 $("#formNewsletter").submit(function(){ return false; }) 它按预期工作-表单未提交。 当我写这篇文章时,它似乎返回了true(表单正在发送) 我想了解为什么会发生这种情况,以及我如何才能让它发挥作用 谢谢大家! $("#formNewsletter").submit(function(e) { if ($(&q

我有这个

$("#formNewsletter").submit(function(){

                        return false;
                    })
它按预期工作-表单未提交。 当我写这篇文章时,它似乎返回了true(表单正在发送)

我想了解为什么会发生这种情况,以及我如何才能让它发挥作用

谢谢大家!

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

属性长度不是一个方法

使用
$(“#简讯selspec div”)。长度>0


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



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

始终使用
preventDefault()
停止默认操作行为,正如下面的例子-
返回false
应该避免,除非绝对必要/理解-也要查找
stopPropagation
stoppimediatepropagation
!属性长度不是一个方法。使用
$(“#newsletteselspec div”).length>0
@AndreasAL将此作为答案,因为这几乎肯定是这不起作用的原因。@coderadu没有提到任何关于提交表单的内容,但阻止表单提交。是的,问题是我使用的“方法”。。实际上,我们的想法是,永远不要发送表单,而是执行ajax调用。谢谢你,安德烈亚斯·艾尔!从问题代码中的
return false
的位置判断,表单永远不应该提交,因此只在
else
块中调用
e.preventDefault()
将改变功能。@AnthonyGrist:是的,但我怀疑它是在绝望中移动到那里的。@T.J.Crowder可能。如果没有Radu告诉我们,我们无法知道任何一种情况。我仍然认为,当您的答案与问题中提供的代码的预期功能不完全匹配时,明确说明这一点是一个好主意。
$("#newsletterSelSpec div").length
$("#formNewsletter").submit(function(event) {
    event.preventDefault();

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