带有if else语句的javascript函数忽略返回true/false

所以我有一个正在提交的 PHP 表单isset($_POST[])。我写了一个 js 函数,它运行一些if-else应该使用的代码,return true/false但它不是,并且无论如何都会提交表单。


我试过使用,e.preventDefault()但这对我也不起作用。我还尝试将 true/false 放在 var 中out = true/false(当然,我将它们放在不同的 var 中作为 if 和 else),然后尝试将它们作为return out. var 中真/假的代码 -


function submitFunc(a, b) {

   if (a >= b) {

        alert("*Duration cannot be greater than Quoted Hours");

        out = false;

    }       

    else {

        out = true;

    }   

    window.location = "add_working_details.php";

    return out;


}

原始代码 -


function submitFunc(a, b) {


    if (a >= b) {

        alert("*Duration cannot be greater than Quoted Hours");

        // event.preventDefault();

        //out = false;

        return false;

                window.location = "add_working_details.php";

    }       

    else {

        // out = true;

        return true;

    }   

    //return out;

    // window.location = "add_working_details.php";

}

AJAX 函数——


$("#submit").click(function(){//comparing the total quoted hours with duration of time selected         

        ticket_id = $('#ticket_no').val();

        total_hours = $('#total_hours').val(); 


        var user_dur, ud, th;


        $.ajax({

            url: 'comp_time.php',

            type: 'GET',

            data: {ticket_id: ticket_id, total_hours: total_hours} ,

            success: function (response) {

                // console.log("response", response);

                var resp = response;

                user_dur = $('#time_duration').text();

                ud = compare_time(user_dur); //user duration

                th = Number(resp); //total quoted hours


                submitFunc(ud, th);

            }


        }); 

    });


所以我相信返回false应该停止提交表单,然后window.location它应该重定向到我想要的页面,但它没有这样做。如果我的逻辑有误,请纠正我。谢谢你的时间。


料青山看我应如是
浏览 225回答 2
2回答

小唯快跑啊

首先,无论事件结果如何,您的功能都应阻止提交$("#submit").click(function(e){e.preventDefault();其次,您需要从函数中删除返回值,它们不会影响您的点击事件function submitFunc(a, b) {    if (a >= b) {        alert("*Duration cannot be greater than Quoted Hours");           } else {       window.location = "add_working_details.php";    }}

芜湖不芜

$('#form').submit(function(e) {   if (submitFunc(1, 2)) {   $.ajax({});    } else {        e.preventDefault();    }})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript