为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

料青山看我应如是 2022-01-02 15:58:28
所以我有一个正在提交的 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它应该重定向到我想要的页面,但它没有这样做。如果我的逻辑有误,请纠正我。谢谢你的时间。
查看完整描述

2 回答

?
小唯快跑啊

TA贡献1863条经验 获得超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";

    }

}


查看完整回答
反对 回复 2022-01-02
?
芜湖不芜

TA贡献1796条经验 获得超7个赞

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

   if (submitFunc(1, 2)) {

   $.ajax({});

    } else {

        e.preventDefault();

    }

})


查看完整回答
反对 回复 2022-01-02
  • 2 回答
  • 0 关注
  • 224 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信