【问题标题】:Not able to fetch the values from checkboxes无法从复选框中获取值
【发布时间】:2018-09-10 02:50:36
【问题描述】:

我有一个包含输入、下拉列表和 3 个复选框的表单。我需要从此表单中获取值并将数据保存在后端。

输入和下拉列表的值即将到来,但我无法获取复选框的值。

我已经让复选框看起来像一个标签,所以它们看起来像这样

提交表单后,复选框的值始终为“on”,而我希望它应该为 true 或 false,具体取决于用户是否选中它

表格

<form  id="search_form" method="post" >
  <input id="fullname" name="fullname" type="text">
  <select name="location" id="location">
    <option value="">Location</option>
    <option value="A">A</option>
    <option value="B">B</option>
  </select>                     

  <input type="checkbox" name="XID_name" value=1 id="XID"/>
  <label class="a" for="XID">X </label>
  <input type="checkbox" name="YID_name"  id="YID" /> 
  <label class="a" for="YID">Y </label>
  <input type="checkbox" name="ZID_name" id="ZID" />
  <label class="a" for="ZID">Z </label>

  <button type="submit" id="save" >SEARCH</button>
</form>

脚本

<script type="text/javascript">
  $("#search_form").submit(function(e) {
    e.preventDefault();
    var fullname = $("#fullname").val();
    var location = $("#location").val();
    var XID = $("#XID").val();
    var YID = $("#YID").val();
    var ZID = $("#ZID").val();

    $.ajax({
      type: "POST",
      url: "ABC/DEF",
      data: { fullname:fullname, location:location,  XID:XID, YID:YID, ZID:ZID }, 
      success: function(data){
        console.log(data)
    }
  });
})
</script>

后端

<?php
    $data = array(
      'fullname' => $this->input->post('fullname'),
      'location' => $this->input->post('location'),
      'XID' => $this->input->post('XID'),
      'YID'=>$this->input->post('YID'),         
      'ZID' => $this->input->post('ZID'),
    );

echo "<pre>";
print_r($data);
echo "</pre>";
?>

结果数组

Array
(
    [fullname] => 
    [location] => 
    [XID] => on
    [YID] => on
    [ZID] => on
)

谁能告诉我如何解决这个问题?

【问题讨论】:

  • var XID = $("#XID").is(':checked')
  • var XID = $("#XID").isChecked(); 试试这个

标签: php html mysql checkbox mysqli


【解决方案1】:

在 jquery 中你必须检查你的复选框是否被选中。根据它你必须传递价值

var XID = $("#XID").prop('checked');
var YID = $("#YID").prop('checked');
var ZID = $("#ZID").prop('checked');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-30
    • 1970-01-01
    • 1970-01-01
    • 2018-02-14
    • 2014-05-16
    • 1970-01-01
    相关资源
    最近更新 更多