无法在 PHP 中使用 AJAX 处理复选框值
Failed to process checkbox values with AJAX in PHP
我有一个包含文本、单选框和复选框输入的 HTML 表单。当我用 AJAX 提交时,我只得到数组中最后一个复选框的值。
我的 HTML 文件:
<form class="ajaxonsubmit" action="process.php" method="post">
<label>Name</label><input type="text" name="name">
<label>Father's Name</label><input type="text" name="father_name">
<label>Gender</label>
<input type="radio" value="1" name="gender">Male <br>
<input type="radio" value="2" name="gender">Female <br>
<label>Options</label>
<select name="campus">
<option value="1">Option1 </option>
<option value="2">Option2 </option>
</select>
<label>Check List</label>
<input type="checkbox" name="check[]" value="1">
<input type="checkbox" name="check[]" value="2">
<input type="checkbox" name="check[]" value="3">
<button name="submit" type="submit">Submit</button>
我的 JS 文件。
$('.ajaxonsubmit').on('submit', function() {
var that = $(this),
url = that.attr('action'),
type = that.attr('method'),
data = {};
that.find('[name]').each(function(index, value) {
var that = $(this),
name = that.attr('name'),
value = that.val();
data[name] = value;
});
$.ajax({
url: url,
type: type,
data: data,
success: function(data) {
$("#wrap").html(data);
}
});
return false;
});
我正在使用 var_dump($_POST); process.php 中的函数检查数组,我得到 ["check"]=> array(1) { [0]=> string(1) "3" }
将 class="checkBoxClass" 添加到您的复选框,
然后在你的js中,添加如下代码,将数据添加到你的chkArray
var chkArray = [];
$(".checkBoxClass:checked").each(function() {
chkArray.push($(this).val());
});
最后将数组追加到您要发布的数据中
干杯。
您可以 serialize 表单数据,并在 PHP 端访问
$('.ajaxonsubmit').on('submit', function(e) {
e.preventdefault();
$.ajax({
url: url,
type: type,
data: $(this).serialize(),
success: function(data) {
$("#wrap").html(data);
}
});
});
在 PHP
print_r($_POST);
我有一个包含文本、单选框和复选框输入的 HTML 表单。当我用 AJAX 提交时,我只得到数组中最后一个复选框的值。
我的 HTML 文件:
<form class="ajaxonsubmit" action="process.php" method="post">
<label>Name</label><input type="text" name="name">
<label>Father's Name</label><input type="text" name="father_name">
<label>Gender</label>
<input type="radio" value="1" name="gender">Male <br>
<input type="radio" value="2" name="gender">Female <br>
<label>Options</label>
<select name="campus">
<option value="1">Option1 </option>
<option value="2">Option2 </option>
</select>
<label>Check List</label>
<input type="checkbox" name="check[]" value="1">
<input type="checkbox" name="check[]" value="2">
<input type="checkbox" name="check[]" value="3">
<button name="submit" type="submit">Submit</button>
我的 JS 文件。
$('.ajaxonsubmit').on('submit', function() {
var that = $(this),
url = that.attr('action'),
type = that.attr('method'),
data = {};
that.find('[name]').each(function(index, value) {
var that = $(this),
name = that.attr('name'),
value = that.val();
data[name] = value;
});
$.ajax({
url: url,
type: type,
data: data,
success: function(data) {
$("#wrap").html(data);
}
});
return false;
});
我正在使用 var_dump($_POST); process.php 中的函数检查数组,我得到 ["check"]=> array(1) { [0]=> string(1) "3" }
将 class="checkBoxClass" 添加到您的复选框,
然后在你的js中,添加如下代码,将数据添加到你的chkArray
var chkArray = [];
$(".checkBoxClass:checked").each(function() {
chkArray.push($(this).val());
});
最后将数组追加到您要发布的数据中
干杯。
您可以 serialize 表单数据,并在 PHP 端访问
$('.ajaxonsubmit').on('submit', function(e) {
e.preventdefault();
$.ajax({
url: url,
type: type,
data: $(this).serialize(),
success: function(data) {
$("#wrap").html(data);
}
});
});
在 PHP
print_r($_POST);