作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
由于我编写的用于在 MySQL 中保存表单数据的通用函数,我遇到了一个复杂的问题。所有表单在序列化后通过 Ajax 发送:
$('.suggestSave, .buttonSave').on('submit', function(e) {
e.preventDefault();
var data = $(this).serialize();
...
然后我通过遍历值并创建保存在数据库中的数据来获取所有 POST 值:
$data = array();
foreach ($_POST as $param_name => $param_val) {
if($param_name != 'action' && $param_name != 'patient' && $param_name != 'jsaction') {
$name = sanitize($param_name);
$value = sanitize($param_val);
$data[$name] = $value;
}
}
自然地,不会发送未选中的复选框。问题是如果它是空的,我想为这个复选框存储 Int 值 0 而不是 1。在 HTML 方面,我有一个经典的语法
<input type="checkbox" value="1" name="c_name1" checked/>
<input type="checkbox" value="1" name="c_name2"/>
关于如何处理这个问题有什么建议吗?在一个复选框的情况下,我会检查后值是否为 set(),但由于我是通过循环获取名称和值的...我没有想法...
最佳答案
使用 values 变量通过 Ajax 发送数据
/* Get input values from form */
values = jQuery("#myform").serializeArray();
/* Because serializeArray() ignores unset checkboxes and radio buttons: */
values = values.concat(
jQuery('#myform input[type=checkbox]:not(:checked)').map(
function() {
return {"name": this.name, "value": this.value}
}).get()
);
关于php - 通过 ajax 发送未选中的复选框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36278729/
我是一名优秀的程序员,十分优秀!