【问题标题】:Can't Check Checkbox Value With Php and AJAX无法使用 Php 和 AJAX 检查复选框值
【发布时间】:2021-09-20 19:14:59
【问题描述】:

我有一个表格,我使用了一个复选框。感谢复选框,添加了一个新字段并由用户填写。

我遇到了一个问题,一切都很顺利。复选框一直返回空,这完全破坏了我的 if else 结构。

复选框 HTML 代码:

<input type="checkbox" class="custom-control-input headerElementDrop" id="header_element_drop" name="header_element_drop" onchange="valueChanged()">

AJAX 代码:

function headerElementInsert() {

  var headerElementAdd = $("#headerElementAdd").serialize();

  $.ajax({
    type: "POST",
    data: headerElementAdd,
    url: "actions/header-element-add.php",
    success: function (insertSuccess) {
      if ($.trim(insertSuccess) == "null") {

        //

      } else if ($.trim(insertSuccess) == "success") {

        //

      } else if ($.trim(insertSuccess) == "error") {

        //

        })

      }
    }
  });

}

header-element-add.php 代码:

if ($_POST) {


    $header_element_name = post('header_element_name');
    $header_element_icon = post('header_element_icon');
    $header_element_link = post('header_element_link');

    $header_element_drop = (isset($_POST["header_element_drop"])) ? 1 : 2 ;

    $header_element_drop_class_name = post('header_element_drop_class_name');
    $header_element_drop_elements = post('header_element_drop_elements');


    if($header_element_drop == 1) {

        if(!$header_element_name || !$header_element_drop || !$header_element_drop_class_name || !$header_element_drop_elements) {
            echo "null";
        }else{

            $header_element_drop_class = replace_tr($header_element_drop_class_name);

            $header_elements = $db->prepare("INSERT IGNORE INTO header_elements SET header_element_name=?, header_element_icon=?, header_element_link=?, header_element_drop=?, header_element_drop_class_name=?, header_element_drop_class=?, header_element_drop_elements=?");
            $insert = $header_elements->execute(array($header_element_name,$header_element_icon,$header_element_link,$header_element_drop,$header_element_drop_class_name,$header_element_drop_class,$header_element_drop_elements));
            
            if($insert) {
                echo "success";
            }else{
                echo "error";
            }

        }

    }else{

        if(!$header_element_name) {
            echo "null";
        }else {

            $header_elements = $db->prepare("INSERT IGNORE INTO header_elements SET header_element_name=?, header_element_icon=?, header_element_link=?");
            $insert = $header_elements->execute(array($header_element_name,$header_element_icon,$header_element_link));

            if($insert) {
                echo "success";
            }else{
                echo "error";
            }

        }

    }

}

我尝试了很多方法来解决这个问题,但都没有奏效。如果您能提供帮助,我将不胜感激。

【问题讨论】:

  • 调试信息不​​足,请贴出JavaScript(valueChanged函数)和PHP的完整代码
  • @KenLee 我重新排列了代码 sn-p

标签: php ajax checkbox


【解决方案1】:

我发现了问题。我忘记为一个输入赋予名称值。对于给您带来的不便,我深表歉意。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-06
    • 2016-01-26
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多