在我的html表单中,除复选框值外,所有数据都成功验证。它不是用jquery / ajax请求验证的。
这是我的html表单ajax和html代码(仅限部分):
<tr>
<td>Terms & Conditions</td>
<td><input type="checkbox" name="terms"/> I agree to your <a href="">terms and
conditions</a>.</td>
<script>
$('#form1').submit(function(event) {
event.preventDefault();
$.ajax({
type: 'POST',
url: 'regProcess.php',
data: $(this).serialize(),
dataType: 'json',
success: function (data) {
$('#info1').html('');
$.each( data, function( key, value ) {
$('#info1').append('<p>'+value+'</p>');
});
}
});
});
</script>
在regProcess.php页面中,以下是我的Checkbox验证码,但它没有验证..
if(isset($_POST['terms']) && $_POST['terms'] == ""){
$msg[] = "You must agree our terms and conditions";
$msg1['error'] = true;
}
答案 0 :(得分:1)
选中ID
<tr>
<td>Terms & Conditions</td>
<td><input type="checkbox" id="terms" name="terms"/> I agree to your <a href="">terms and
conditions</a>.</td>
然后使用它来查找复选框是否已选中?
<script>
$('#form1').submit(function(event) {
event.preventDefault();
if($('#terms').is(':checked') )
{
$.ajax({
type: 'POST',
url: 'regProcess.php',
data: $(this).serialize(),
dataType: 'json',
success: function (data) {
$('#info1').html('');
$.each( data, function( key, value ) {
$('#info1').append('<p>'+value+'</p>');
});
}
});
}
else{
alert("Check terms and condition");
}
});
</script>
答案 1 :(得分:0)
$_POST['terms']
。它应该是:
if (empty($_POST['terms']) || $_POST['terms'] !== 'on') {
或只是
if (empty($_POST['terms'])) {