Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.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 停止函数的执行?_Javascript_Jquery - Fatal编程技术网

Javascript 停止函数的执行?

Javascript 停止函数的执行?,javascript,jquery,Javascript,Jquery,在提交时,我会这样做: $('#add-form').submit(function(e){ e.preventDefault(); if($('input[name=published]').is(':checked')) p.validateImgs(); //stop if p.validateImgs returns false 验证Imgs功能: p.validateImgs = function() { //Check Thumb var

在提交时,我会这样做:

$('#add-form').submit(function(e){
    e.preventDefault();
    if($('input[name=published]').is(':checked')) p.validateImgs();

    //stop if p.validateImgs returns false
验证Imgs功能:

p.validateImgs = function() {

    //Check Thumb
    var thumb = $('#thumb li .img-drop-zone');
    if(!thumb.has('img').length)thumb.addClass('error');

    //Check Galery
    var gallery = $('#gallery li .img-drop-zone').first();
    if(!gallery.has('img').length)gallery.addClass('error');

    //return true/false



};

如果validateImgs返回false,提交脚本将停止,我该怎么做呢?

因为
e.preventDefault()
阻止表单提交,如何

$('#add-form').submit(function(e){

    if($('input[name=published]').is(':checked') && !p.validateImgs())
        e.preventDefault();

});

如果要退出函数,请使用Jonathan提到的
return

您可以提前退出
函数

因为它是有条件的,所以将它放在带有
p.validateImgs()
if
下作为条件的一部分:

if($('input[name=published]').is(':checked') && !p.validateImgs())
    return;

在validateImgs中,返回true或false,并在提交函数中捕获响应。例如

$('#add-form').submit(function(e){
    e.preventDefault();
    if($('input[name=published]').is(':checked')) 
    {
        response = p.validateImgs();

        // if any error
        if(!response)
        return false; // stop function

    }

我将使用Johan的代码,但只需添加一点修改:

$('#add-form').submit(function(e){
    if($('input[name=published]').is(':checked') && !p.validateImgs()) {
        e.preventDefault();
        return false;
    }
});
请注意y添加的“返回错误”,以防万一