当前位置: 首页 > 面试题库 >

jQuery表单检查返回true,但需要返回false

罗奇文
2023-03-14
问题内容

提交表单时,我正在运行此表单检查:

if((formData[4].value == 1 || formData[4].value == 2) && !formData[2].value) { 
    alert('Please fill out the key field');
    return false;
} else {
    $.ajax({
        url: "/ajax/key_check.php",
        cache: false,
        data: "key=" + formData[4].value,
        dataType: "html",
        success: function(data) {
            if(data == 1) {
                alert('Key already exists');
                return false;
            }
        }
    });

    return true;
}

该脚本有效,如果数据== 1,它会警告键已经存在,但是表单仍在提交。我以为如果data ==
1则返回false将停止处理表单,但是无论如何它都会继续并添加键,并且弹出键已经存在。如果data == 1,如何阻止表单提交?我什至尝试这样做:

if(data == 1) {
    alert('Key already exists');
    return false;
} else {
    return true;
}

然后删除脚本底部的return true,但是会发生相同的问题。弹出窗口出现,但表单仍得到处理。


问题答案:

一个return回调的回报 从回调 ,不是父功能像你想......但你 得到的效果你想要的,就像这样:

if((formData[4].value == 1 || formData[4].value == 2) && !formData[2].value) { 
    alert('Please fill out the key field');
    return false;
} else {
    $.ajax({
        url: "/ajax/key_check.php",
        cache: false,
        data: "key=" + formData[4].value,
        dataType: "html",
        success: function(data) {
            if(data == 1) {
                alert('Key already exists');
            } else {
              $("#someForm")[0].submit();
            }
        }
    });
    return false;
}

这样做永远不会直接提交,但是 如果 检查正常,请调用* native
.submit()方法,提交表单,然后不再运行此处理程序。



 类似资料:
  • 问题内容: 当我尝试从Java代码中删除tomcat服务器conf / Catalina / localhost中存在的文件时,file.delete()始终返回false。但是,如果我通过file.exists()函数检查文件,它将返回true。我没有任何例外。请帮助我们为什么会这样。有什么解决方案? 问题答案: 当我尝试从Java代码中删除tomcat服务器conf / Catalina /

  • 在WordPress主题中,当一个联系人表单完成时,一条消息会写在页面上,但不会写在我想要的位置。但是当在PHP代码中更改消息的位置时,联系人表单中的段落(写在文章中)不再显示。事实上,我认为方法返回false,因此不会调用方法。 以下是原始代码: 我希望它是这样的: 如你所见,我只更改了确认消息的位置。但是在第二种方式中,具有的条件似乎不是真的,因为我在文章中写的文本没有显示出来。 有人能帮我解

  • 我刚刚开始学习Javascript,现在只是学习一些基本的东西。但问题是我真的不明白如果这个switch语句如何返回 null null 还有人看到问题了吗? 如有任何帮助,我们将不胜感激!

  • 问题内容: 使用Python正则表达式如何获得/返回?所有Python回报是: 问题答案: 对象始终为true,如果不匹配,则返回。只是测试真实性。

  • 我有一个很好的方法。这就是它的样子。 我想把这个换成Lambda。但我不知道如何填写if(条件)在外面返回true或false。我知道我也可以在流中完成。有人能举个例子吗?

  • 问题内容: 它们没有正确回答(或根本没有回答)。但是,我不知道为什么总是对我返回false。有人可以告诉我为什么以及如何解决问题?提前致谢。 注意:我所说的活动是包含在中的孩子,这都不是 MAIN 或 LAUNCHER 活动。我不知道这有什么区别。 编辑: 因此应用程序不会进入后台。我希望它进入后台,就像按下硬件HOME一样 问题答案: 我不知道为什么要回去给你。也许您的清单上有些奇怪?无论如何,