2017-11-24 6 views
0

私は複数のチェックボックスを含むフォームがあり、私はそれらの値を電子メールに送信する必要が、私は電子メールスクリプトにajaxを介して送信することができません。私はPHPの電子メールスクリプトに複数のチェックボックスの値を送信することができません

しかし、AjaxのPHPコードなしで働いている私は、以下のもの をしないのですどこ提案してください私のhtmlコードが

<form enctype="multipart/form-data"> 

<div class="col-md-12 col-sm-12"><input type="text" id="name" name="name" placeholder="Name:*" class="form-control" required/></div> 
<div class="col-md-12 col-sm-12"><input type="email" id="email" name="email" placeholder="Email:*" class="form-control" required/></div> 
<div class="col-md-12 col-sm-12"><input type="text" id="phone" name="phone" placeholder="Phone:*" class="form-control" required/></div> 
    <p>Vehicle Type You're Shipping?:*</p> 

<div class="input-holder field-checkbox"> 



         <div class="field-element "> 

          <input type="checkbox" id="" name="checkbox[]" value="Car, Truck Or SUV" class="required "> 
          <label for="1dfb36b53196072fe797a082d9892947-3-0">Car, Truck Or SUV</label> 
         </div> 

         <div class="field-element "> 

          <input type="checkbox" id="" name="checkbox[]" value="Motorcycle Or ATV" class="required "> 
          <label for="1dfb36b53196072fe797a082d9892947-3-1">Motorcycle Or ATV</label> 
         </div> 

         <div class="field-element "> 

          <input type="checkbox" id="" name="checkbox[]" value="RV Or Motorhome" class="required "> 
          <label for="1dfb36b53196072fe797a082d9892947-3-2">RV Or Motorhome</label> 
         </div> 

         <div class="field-element "> 

          <input type="checkbox" id="" name="checkbox[]" value="Boat/Yacht, Jet Ski" class="required "> 
          <label for="1dfb36b53196072fe797a082d9892947-3-3">Boat/Yacht, Jet Ski</label> 
         </div> 

         <div class="field-element "> 

          <input type="checkbox" id="" name="checkbox[]" value="Trailer" class="required "> 
          <label for="1dfb36b53196072fe797a082d9892947-3-4">Trailer</label> 
         </div> 

         <div class="field-element "> 

          <input type="checkbox" id="" name="checkbox[]" value="Other" class="required "> 
          <label for="1dfb36b53196072fe797a082d9892947-3-5">Other</label> 
         </div> 

あるSEND

<center> <div class="result" id="result"style="color:red;font-weight: 900;background: #fff; "></div></center> 


</form> 

と私はのためにこのコードを持っていますアヤックス

<script> 
function submit_user(){ 


    var name = document.getElementById('name').value; 
    var email = document.getElementById('email').value; 
    var phone = document.getElementById('phone').value; 
    var country = document.getElementById('country').value; 
    var current = document.getElementById('current').value; 
    var model = document.getElementById('model').value; 
    var enquiry = document.getElementById('enquiry').value; 
    var myCheckboxes = new Array(); 
    $("input:checkebox").each(function() { 
    data['myCheckboxes[]'].push($(this).val()); 
    }); 

    $.ajax({ 
     type: "POST", 
     url: "script.php?name="+name+"&email="+email+"&phone="+phone+"&checkbox="+myCheckboxes+"&country="+country+"&current="+current+"&model="+model+"&enquiry="+enquiry, 
     success:function(data) { 
      $(".result").html(data); 

     } 
    }); 
// alert("2s"); 


} 

と私は、このスクリプトは、PHP

<?php 
if (!empty($_GET['name']) && !empty($_GET['email']) && !empty($_GET['phone']) && !empty($_GET['country']) && !empty($_GET['current']) && !empty($_GET['model'])) { 
    $message  = "New Email from landing Page"; 
    $name   = $_GET['name']; 
    $email   = $_GET['email']; 
    $phone   = $_GET['phone']; 
    $country  =$_GET['country']; 
    $current  =$_GET['current']; 
    $model   =$_GET['model']; 
    $enquiry  =$_GET['enquiry']; 
    $from   = "From: Booking from Landing Page"; 
    $to   = "[email protected]"; 
    $subject  = " You Got a Booking From Landing Page!"; 
    if (isset($_GET['myCheckboxes']) && !empty($_GET['myCheckboxes']))  { 
     foreach($_GET['myCheckboxes'] as $selected){ 
     $MESSAGE_BODY .= $selected."\r\n"; 
    } 
    } 
    $mail    = " 
    Info:    ".$message." 
    Name:    ".$name." 
    email:    ".$email." 
    Phone:    ".$phone." 
    checkbox   ".$MESSAGE_BODY." 
    Country:   ".$country." 
    Currrent:   ".$current." 
    Model:    ".$model." 
    Message:   ".$enquiry.""; 
    mail($to, $subject, $mail, $from); 
    //readfile("thank-you.html");  
    //exit; 
echo "Thank You, I will get back to you ASAP"; 
}else{ 
    //readfile("error.html");} 
    echo "something is incorrect, please retry"; 

} 
?> 
+0

に 'checkbox'では' $( "入力にスペルが間違っていない、myCheckboxes.push()にしたい:checkebox ").each(function(){' – Sean

+0

返信ありがとうございますが、まだ動作していません –

+0

私は同じウェブサイトでこのコードの平和を得ましたvar myCheckboxes = new Array(); データ['myCheckboxes []']。プッシュ($(this).val()); }); $( "入力:checkebox" –

答えて

0

のために変更してみてください持っている -

var myCheckboxes = new Array(); 
$("input:checkebox").each(function() { 
data['myCheckboxes[]'].push($(this).val()); 
}); 

var myCheckboxes = new Array(); 
$("input:checkbox:checked").each(function() { 
myCheckboxes.push($(this).val()); 
}); 

に(1)input:checkeboxはでなければなりません だけチェックし、チェックボックスを送信すると(2)、:checkedではなく追加した各1
(3)あなたはdata['myCheckboxes[]']

+0

返信ありがとうございますが、チェックボックスhttp://prntscr.com/hetymsのメールに値が表示されません –

+0

ブラウザの開発者ツールを確認したか、console.logs - > 'console.log(myCheckboxes)'をチェックしましたか?あなたの 'myCheckboxes'配列に何が入っているのか見ていますか?このコードはここで働いています - >> https://jsfiddle.net/17pm78gb/(送信ボタンの下にチェックマークをつけて印刷します) – Sean

関連する問題