我有一个带有单选按钮和复选框的表单,并且想要检索其中哪些被选中。表单使用 jQuery 提交,信息存储在两个变量(目标和差异)中。然后使用 $.ajax() 发布这些变量。
我的问题:Firebug 告诉我它们已发布,但我似乎仍无法使用 $_POST 检索它们。实际上, $_POST 返回旧数据。我尝试了 unset($_POST) 并删除了我的浏览器缓存,但没有任何效果。我能做些什么?
非常感谢你的帮助!
提交.js:
$(document).ready(function () {
alert('start');
$('#right').on('submit', 'form', function(event) {
var checkboxes = new Array();
$('input[name=target]:checked').each(function(){
checkboxes.push($(this).val());
});
var radio = $('input[name=diff]:radio:checked').val();
$.ajax({
url: 'index.php',
type: 'post',
data: {'targets': checkboxes, 'diffs': radio},
success: function() {
alert("success"); }
});
return false;
});
});
索引.php:
<!DOCTYPE html>
<html lang="en-US">
<head>
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script src="js/submit.js"></script>
</head>
<body>
<?php
if(isset($_POST['targets'])){
$targets = $_POST['targets'];
echo "targets set";
}
if(isset($_POST['diffs'])){
$diffs = $_POST['diffs'];
echo "diffs set";
}
?>
<div id="right">
<div class="content">
<form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="checkbox" name="target" value="Check1">Check1
<input type="checkbox" name="target" value="Check2">Check2
<input type="checkbox" name="target" value="Check3">Check3
<input type="radio" name="diff" value="Radio1">Radio1
<input type="radio" name="diff" value="Radio2">Radio2
</form>
</div>
</div>
</body>
</html>