Php .submit()返回false会导致(对我来说)奇怪的行为

Php .submit()返回false会导致(对我来说)奇怪的行为,php,jquery,Php,Jquery,我试图得到的是计算文章列表中的哪些复选框被选中,并且我正在将选中的内容写入“toDel”jquery变量 然后,如果“toDel”仍然为空,我希望停止提交表单,如果有,我将继续向隐藏字段值添加“toDel”值 如果选中,则一切正常,但一旦单击按钮且未选中任何复选框,“return false”不知何故停止,当选中新复选框时,我将无法进入代码的“正确”部分 我在这里检查了一下,发现我不能使用“returnfalse”,所以我尝试使用validator变量,但它的行为是相同的 $(docum

我试图得到的是计算文章列表中的哪些复选框被选中,并且我正在将选中的内容写入“toDel”jquery变量

然后,如果“toDel”仍然为空,我希望停止提交表单,如果有,我将继续向隐藏字段值添加“toDel”值

如果选中,则一切正常,但一旦单击按钮且未选中任何复选框,“return false”不知何故停止,当选中新复选框时,我将无法进入代码的“正确”部分

我在这里检查了一下,发现我不能使用“returnfalse”,所以我尝试使用validator变量,但它的行为是相同的

    $(document).ready(function(){
$("#jqdeleteselected").on("click", function(){
  var toDel='';
      $('.jqchkbx').each(function() {
         if ($(this).attr('checked')) {
          toDel += ($(this).attr('value')+',')
         }
    });
    console.log(toDel);

    $("#send").submit(function() {
        var valid = true;
        if (toDel != '') {

        $('#boxevi').val(toDel);        
        console.log('filled');

        }
        console.log('empty');
        valid = false;


    });         
    return valid;
});
}))




您只需处理
提交
事件:

$(document).ready(function(){

    $("#send").submit(function() {
        var toDel='';
          $('.jqchkbx').each(function() {
             if ($(this).attr('checked')) {
              toDel += ($(this).attr('value')+',')
             }
        });
        console.log(toDel);

        if (toDel != '') {
            $('#boxevi').val(toDel);        
            console.log('filled');
        }else{
            console.log('empty');
            return false;
        }
    });

});

您只需处理
submit
事件:

$(document).ready(function(){

    $("#send").submit(function() {
        var toDel='';
          $('.jqchkbx').each(function() {
             if ($(this).attr('checked')) {
              toDel += ($(this).attr('value')+',')
             }
        });
        console.log(toDel);

        if (toDel != '') {
            $('#boxevi').val(toDel);        
            console.log('filled');
        }else{
            console.log('empty');
            return false;
        }
    });

});

您只需处理提交,就可以使用:checked选择器加快检查速度

$(document).ready(function(){
    $("#send").submit(function() {
        var toDel='',
            $this = $(this),
            checkd = $(".jqchkbx:checked");
        checkd.each(function() {
            toDel += $(this).val() + ',';
        });
        console.log(toDel);

        if (checkd.length > 0) {
            $('#boxevi').val(toDel);        
            console.log('filled');
        }else{
            console.log('empty');
            return false;
        }
    });

});

您只需处理提交,就可以使用:checked选择器加快检查速度

$(document).ready(function(){
    $("#send").submit(function() {
        var toDel='',
            $this = $(this),
            checkd = $(".jqchkbx:checked");
        checkd.each(function() {
            toDel += $(this).val() + ',';
        });
        console.log(toDel);

        if (checkd.length > 0) {
            $('#boxevi').val(toDel);        
            console.log('filled');
        }else{
            console.log('empty');
            return false;
        }
    });

});

好吧,我不确定(我昨天开始使用JQuery,所以我完全是noob:),因为在同一个表单上我还有一个按钮(忘了在HTML代码中添加它),它是“添加新文章”,我已经通过PHP编写了这个按钮,所以如果我只使用$(“#send”).submit(函数()正如您所建议的,我的Add new不再有效,这就是为什么我只想在单击时执行此操作。(如果这不是最佳情况,请建议,然后我将对两个按钮重新编码并使用jquery)可能是您的“添加新文章”按钮依赖于
submit
event handler范围内定义的一些变量?如果是,这只会更改我发布的代码,以便在更大范围内定义它们。我发布的提交处理对您有效吗?是的,您的帖子对我提出的问题非常有效,但总体来说,因为“删除”现在可以了,“添加新”根本不起作用:)我在php中有一个名为checkaction()的浮点函数,其中我检查所有表单中的所有$\u POST[]变量,并根据变量的值(addnewarticle、addnewstaticcontent、editarticle、savearticle)在contenthandler中使用不同的大小写。但是,如果我只使用.submit(),这个“addnewarticle”按钮,它与“delete selected”的形式相同,但不起作用,它的行为与“delete selected”完全相同…将“addnewarticle”处理程序的代码发布到pastebin,我将尝试帮助您组织我的Timur,同时我已经管理过了,我添加了额外的隐藏文件以区分操作删除或添加新:删除保存
;好吧,我不确定(我昨天开始使用JQuery,所以我完全是noob:),因为在同一个表单上我还有一个按钮(忘了在HTML代码中添加它),它是“添加新文章”,我已经通过PHP编写了这个按钮,所以如果我只使用$(“#send”).submit(函数()正如您所建议的,我的Add new不再有效,这就是为什么我只想在单击时执行此操作。(如果这不是最佳情况,请建议,然后我将对两个按钮重新编码并使用jquery)可能是您的“添加新文章”按钮依赖于
submit
event handler范围内定义的一些变量?如果是,这只会更改我发布的代码,以便在更大范围内定义它们。我发布的提交处理对您有效吗?是的,您的帖子对我提出的问题非常有效,但总体来说,因为“删除”现在可以了,“添加新”根本不起作用:)我在php中有一个名为checkaction()的浮点函数,其中我检查所有表单中的所有$\u POST[]变量,并根据变量的值(addnewarticle、addnewstaticcontent、editarticle、savearticle)在contenthandler中使用不同的大小写。但是,如果我只使用.submit(),这个“addnewarticle”按钮,它与“delete selected”的形式相同,但不起作用,它的行为与“delete selected”完全相同…将“addnewarticle”处理程序的代码发布到pastebin,我将尝试帮助您组织我的Timur,同时我已经管理过了,我添加了额外的隐藏文件以区分操作删除或添加新:删除保存
;我已经尝试了你的代码,但无论我选择什么,我在控制台中总是得到“空”,并且它总是返回false。复选框不在表单中,所以$this.find(“.jqchkbx:checked”)总是空的。我更改了代码以修复我的错误。我尝试了您的代码,但无论我选择什么,我总是在控制台中得到“空”,并且它始终返回false。复选框不在表单中,因此$this.find(“.jqchkbx:checked”)始终为空。我修改了密码来修正我的错误。