2016-07-05 1 views
1

私は小さなフォームを持っています。これはajax経由でメール関数に送信されます。しかし、どのような方法でフォームのフィールドを注文しても、最初のフィールドは決して自分のメールボックスには表示されません。メールに送信するときに配列の最初の部分を省略したAjaxフォーム

他のフィールドは正常に動作します。

ここは私のhtmlです。

<form class="form-horizontal amendmentform" name="amendmentform">                    
<input type="hidden" name="guestname" value="<?php echo get_post_meta($post->ID, 'guestname', true); ?>"> 
<input type="hidden" name="arrival" value="<?php echo $arrivaldate; ?>"> 
<input type="text" name="message"> 
<a id="amendmentsubmit"class="btn btn-primary">Send Request</a>       
</form> 

私がconsole.logにデータを入力すると、すべてのフィールドの完全な文字列が取得されます。

私のスクリプト のjQuery( '#のamendmentsubmit')をクリックします(関数(){ VARデータ= jQueryの(この).closest( 'amendmentform。')(シリアライズ);。。

 jQuery(function(){ 
      jQuery.ajax({ 
       url:"http://www.servicedcitypads.com/wp-admin/admin-ajax.php", 
       type:'POST', 
       data:'action=amendment_form&data=' + data,   
       success:function(result){ 
        jQuery('.amendmentform').hide();      

        } 
      }); 
     }); 

    }); 

そして、メッセージ変数を構築するため、最終的に私のPHP。

// Build the message 
$message = "Guestname :" . $_POST['guestname'] ."\n"; 
$message .= "<br>Arrival Date :" . $_POST['arrival'] ."\n"; 
$message .= "<br>Amendment :" . $_POST['message'] ."\n"; 

私は私のメールボックスにそれを作る習慣その常に最初の$ _POSTでこれらを置くためどんなに。奇妙な。

お寄せいただきありがとうございます。何も作業していない場合は、に$_POSTをプリントしてみてください

$('.amendmentform').on('submit', function(){ ... }); 

:あなたはまた、むしろクリックでより提出方法を、使用することができ

data:{ 
    action: 'amendment_form', 
    data: data 
} 

+0

標準フォーム関数を使用するのではなく、jquery変数にフォームデータを割り当てないのはなぜですか? – spas2k

+1

'' action = amendment_form&data = '+ data'を '' action = amendment_form&' + data'に変更してみてください –

答えて

1

「データ」のパラメータは、より多くのようにする必要がありますエラーログ

define('WP_DEBUG', true); 
define('WP_DEBUG_LOG', true); 
define('WP_DEBUG_DISPLAY', false); 

をそして、あなたのAjaxの機能にこれを追加します:あなたのwp-config.phpファイルにこれを追加

error_log(print_r($_POST, true)); 

その後ポストにを介して送信されているかを見るためにwp-content/debug.logで確認してください。

あなたはデータをシリアル化し、それをajax関数に渡しますが、使用しません。これは実際の問題かもしれません。

$_POST['data']['fieldname'] 

データにアクセスするには:

関連する問題