2016-07-23 31 views
2

次のjQuery/Ajaxメソッドを使用してフォームを検証しています。私はjsonデータをadd.phpというPHPファイルに渡しています。今、add.phpページにエラーが見つかった場合はエラーメッセージが表示されます。それ以外の場合は、成功メッセージが表示されます。そうでなければ、エラーエラーメッセージclassが存在しない場合ajax成功メソッド()でブートストラップの成功メッセージを表示するには?

は今、ajax成功法では、私は、ブートストラップ成功メッセージ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); 
    } 
} 

答えて

0

はエラー状態で出力を混在させないでください:

<?php 
/** 
*/ 
if(isset($_POST['form_name']) && $_POST['form_name'] == "zone") { 
    if(verifyForm('zone', 'add')) { 
     $msg = array(); 
     $msg['error'] = false; 
     $msg['body'] = []; 
     $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['body'][] = 'Zone name required'; 
       $msg['error'] = true; 
      } elseif($num_check > 0) { 
       $msg['body'][] = 'Zone name already exists, choose another name'; 
       $msg['error'] = true; 
      } 

      if(!empty($errors)) { 
       $msg['body'][] = '<div class="alert alert-danger">'; 
       $msg['body'][] = '<strong>OPPS! Correct the following error(s):</strong><br/>'; 
       foreach($errors as $er) { 
        $msg['body'][] = $er.'.<br/>'; 
        $msg['error'] = true; 
       } 
       $msg['body'][] = '</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['body'][] = 'New zone added.'; 
       } else { 
        $msg['body'][] = "Can't add new zone."; 
        $msg['error'] = true; 
       } 
      } 
     } 
     $msg['body'] = implode('',$msg['body']); 
     echo json_encode($msg); 
    } 
} 
?> 
<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"); 
       if (result.error) { 
        $('#form_result').append('<p class="alert alert-danger">'+result.body+'</p>'); 
       } 
       else { 
        $('#form_result') . html(result.body); 
       } 
      }, 
      }); 
     }); 
    }); 
</script> 
関連する問題