当前位置: 首页 > 知识库问答 >
问题:

复选框不使用AJAX和PHP将true替换为false

劳嘉实
2023-03-14

我有一个应用程序,用户将选中一个输入复选框,该值将被发送到数据库,而无需重新加载页面;它确实如此。然而,当我取消选中同一元素的隐藏类型时;它包含值0,但仍从复选框中提交值1。

输入是动态创建的:

function build_something(it, src){


  var something = it;
  var htag = it+"-header";


  var ctr = document.createElement('div');
  ctr.setAttribute('class', 'interest_container');

  var lbl = document.createElement('label');
  lbl.setAttribute('for', something);

  var img = document.createElement('img');
  img.setAttribute('src', src);

  var title = document.createElement('h2');
  title.setAttribute('id', htag);

  var inp_f =document.createElement('input');
  inp_f.setAttribute('type', 'hidden');
  inp_f.setAttribute('name', something);
  inp_f.setAttribute('value', 0);

  var inp = document.createElement('input');
  inp.setAttribute('type', 'checkbox');
  inp.setAttribute('id', something);
  inp.setAttribute('name', something);
  inp.setAttribute('value', 1);


  lbl.appendChild(img);
  ctr.appendChild(lbl);
  ctr.appendChild(inp_f);
  ctr.appendChild(inp);
  ctr.appendChild(title);

  var elem = document.getElementById('idk');
  elem.appendChild(ctr);

  document.getElementById(htag).innerHTML = it;
}
$('#interests').on('change', 'input', function (e){
  e.preventDefault();

  $.ajax({
    type: 'POST',
    url:  'some.php',
    async:  true,
    data: $(this).serialize(),
    success:  function (msg) {
      console.log(msg);

    }
  });
})
function storeData($form_data, $table_name, $cxn){
  if(!is_array($form_data)){
    return false;
    exit();
  }
  $types = str_repeat("s", count($form_data));
  $params = array();
  $params[] = &$types;
  $keys = array_keys($form_data);
  $values = array_values($form_data);
  for ($i = 0; $i < count($values); $i++) {
    $params[] = &$values[$i];
  }

  $sql = "INSERT INTO $table_name (" . implode(',', $keys) . ") VALUES (" .
  implode(',', array_fill(0, count($values), '?')) . ")
  ON DUPLICATE KEY UPDATE ";
  $updates = implode(',', array_map(function($col) {
    return "$col = VALUES($col)";
  }, $keys));
  $sql .= $updates;

  $stmt = mysqli_prepare($cxn, $sql);
  call_user_func_array(array($stmt, 'bind_param'), $params);
  return mysqli_stmt_execute($stmt);
}

共有1个答案

利海阳
2023-03-14

因为如果uncheck复选框不是这个,就不会向server发送请求值。在PHP中,使用isset()来检查可用的值。

 类似资料:
  • 问题内容: 我有两行复选框。当用户单击任何单个复选框(在特定行中)时,我想在PHP的总和中添加一个数字。如果他取消选择单个复选框,那么我想实时地从总数中减去而不刷新页面。 我的问题是我的AJAX调用的数据字段中有什么内容? 这是正确的方法吗? HTML JQUERY PHP 问题答案: 尝试:

  • 问题内容: 我较早前发布了一个问题,但运气不太好,我希望清除第二个下拉列表的内容并重新填充该下拉列表,具体取决于第一个下拉列表中的值。 我有以下选择框,如下所示: 在此下拉菜单下,我还为模型添加了另一个下拉菜单: onchange我想清除第二个下拉列表,并在其中填充与汽车品牌相关的模型。例如。 然后,我具有如下所示的PHP函数(我正在使用codeigniter)-该函数使用Car ID并返回所有模

  • 问题内容: 我在表中有一个复选框列表。(该行中的多个CB之一) 我想用一对自定义的开/关图像替换复选框图像,我想知道是否有人对如何使用CSS更好地了解? 我已经找到了这个“ CSS ninja”教程,但是我不得不承认发现它对我来说有点复杂。 据我所知,您可以使用伪类 我的期望是,通过添加上述CSS,该复选框至少将默认显示为处于OFF状态的图像,然后添加以下内容以使ON 不幸的是,似乎我在某处缺少关

  • 期望:如果取消选中/禁用复选框,我希望显示样例布尔值false

  • 我有一个表,它的数据来自Angular7中的循环。这里一切都很好,但根据我的json,列中有“enable”:true和“enable”:false。这里如果我的值是true,应该选中复选框,如果值是false,应该在table中不选中复选框。下面是我的代码

  • 问题内容: 我想用%20替换url中所有空格实例。我将如何使用正则表达式呢? 谢谢! 问题答案: 如果您只想用另一个字符串替换这里的字符串,则不需要正则表达式:using 应该绰绰有余: 但是,如果您想要的还不止于此,并且可能要这样做,并且您正在使用URL,那么应该看一下该 函数。