2
我正在使用以下jQuery/Ajax方法來驗證表單。我將json
數據傳遞給名爲add.php的php文件。現在,如果add.php頁面發現任何錯誤,則顯示錯誤消息,否則顯示成功消息。如何在ajax成功方法()中顯示引導成功消息?
現在,在ajax
成功的方法我想說明引導成功消息class
如果沒有錯誤,否則一個錯誤信息class
。
這一行:
$('#form_result').append('<p class="alert alert-danger">'+value+'</p>');
現在我不能確定如何檢查,如果結果是成功的。
jQuery的/ Ajax代碼:
<script type="text/javascript">
$(document).ready(function() {
$("#add_zone").submit(function(e) {
e.preventDefault();
$.ajax({
url : 'add',
data : $(this).serialize(),
dataType : 'json',
type : 'POST',
beforeSend : function() {
$("#submit_button").val("Wait...");
},
success : function (result) {
$("#submit_button").val("Add New Zone");
$('#form_result').html('');
$.each(result, function(key, value) {
if(key !== 'error') {
$('#form_result').append('<p class="alert alert-danger">'+value+'</p>');
}
});
},
});
});
});
</script>
add.php頁面
if(isset($_POST['form_name']) && $_POST['form_name'] == "zone") {
if(verifyForm('zone', 'add')) {
$msg = array();
$msg['error'] = false;
$zone_name = validate_data($_POST['zone_name']);
$remark = validate_data($_POST['remark']);
$errors = array();
$check = mysqli_query($conn, "SELECT zone_name FROM zone WHERE uid ='$uid' AND zone_name = '$zone_name' ");
$num_check = mysqli_num_rows($check);
if(isset($zone_name, $remark)) {
if(empty($zone_name)) {
$msg[] = 'Zone name required';
$msg['error'] = true;
} elseif($num_check > 0) {
$msg[] = 'Zone name already exists, choose another name';
$msg['error'] = true;
}
if(!empty($errors)) {
$msg[] = '<div class="alert alert-danger">';
$msg[] = '<strong>OPPS! Correct the following error(s):</strong><br/>';
foreach($errors as $er) {
$msg[] = $er.'.<br/>';
$msg['error'] = true;
}
$msg[] = '</div>';
}
if(empty($errors) && $msg['error'] === false) {
$insert = mysqli_query($conn, "INSERT INTO zone (zone_name, uid, remark) VALUES('$zone_name', '$uid', '$remark') ");
if($insert) {
$msg[] = 'New zone added.';
} else {
$msg[] = "Can't add new zone.";
$msg['error'] = true;
}
}
}
echo json_encode($msg);
}
}