2016-09-12 10 views
1

2つのフォームが同じページに投稿されました。異なるIDと名前を持つ2つのフォームとフィールド。 2つのフォームのうちの1つはうまくいきますが、2番目のフォームに問題があります 間違った入力があった場合は正常にエラーメッセージを表示し、すべてがOKならアレイデータが必要ですフォーム2異なる形式のデータを取得します

私のPHPコード:

//To get errors messages normally 
if(!empty($errors2)) { 
      $data != "noPassed"; 
    echo display_errors2($errors2); 

} 
else { 
    //To retrieve data I need to code my message in step 2 
     $data2 = array(); 
     $data2['client_id'] = $client_id; 
     $data2['client_civilite'] = $client_civilite; 
     $data2['client_name'] = $client_name; 
     $data2['res2'] = "passed"; 


     header('Content-Type: application/json'); 
     echo json_encode($data2); 
} 

スクリプト:

jQuery.ajax({ 
     url : '/myfolder/parsers/check.php', 
     method : 'POST', 
     type : 'POST', 
     data : data, 
     success : function(data){ 
     //I presume errors in followed condition 
     if (data != 'passed') { 
     jQuery('.messages_erreurs').html(data); 
     } 
     if(data2.res2 == 'passed') { 
     $(".frm").hide("fast"); 
     $("#step2").show("slow"); 
     $(".open1").css("display","none"); 
     $(".open2").css("display","inline-block"); 

     // accès à data.client_civilite, data.client_id, pour message d'identification . 

     $('#clt_id').val(data2.client_id); 
     $("#check_ok").html(data2.client_civilite+" "+data2.client_nom+" "+': identification réussie.'); 

     } 

関数Gへらのエラーメッセージ:

function display_errors2($errors2) { 
$display2 = '<ul class="bg-danger">'; 
foreach ($errors2 as $error2){ 
    $display2 .= '<li class="text-danger">'.$error2.'</li>'; 
}  
    $display2 .= '</ul>'; 

return $display2; 
} 

答えて

0

まず、あなたは簡単にはJavaScript側でそれを解析できるように、バックPHPスクリプトから送信するかを決める必要があります:テキスト、HTMLまたはJSONを。

リクエストが成功すると、jsonを返信しますが、エラーが発生したときにそのヘッダーが表示されないので、その場合は通常のテキストを返信している可能性があります。

jsonを返信する際には、使用する前に解析されていることを確認する必要があります。 dataTypeプロパティを設定することでこれを行うことができます。次に、あなたのdata変数が(... PHPスクリプトに基づいて)対象となりますので、あなたが値にアクセスすることができます

jQuery.ajax({ 
    url : '/myfolder//parsers/check.php', 
    method : 'POST', 
    // Set the correct data type 
    dataType : 'json', 
    data : data, 
    success : function(data){ 
     // Access the correct values 
     if (data.res2 != 'passed') { 
      // You need to set the errorText property (or similar) in php 
      jQuery('.messages_erreurs').html(data.errorText); 
     } 
     // etc. 
+0

メッセージエラーは、データに基づいています...(私は以下のコードを追加します)。私はステップ2で3つのデータを検索するためにジェイソンエコーとres2を作った – juliet

+0

混乱している:それは間違った配置の包み込みだった.... – juliet

関連する問題