2014-02-04 5 views
0

Я пытаюсь отправить идентификатор элемента, хранящегося в переменной, в мой PHP-файл, но он не отправляет его. Оповещения в моем JS-файле уходят, поэтому проблема, похоже, не существует. Когда я нажимаю submit для отправки своего сообщения электронной почты, переменная «email» отправляет, но «группа» пуста. Где могла моя ошибка?Отправка переменной в PHP с помощью AJAX

HTML СПИСОК

<div class="artistn"> 
     <li class="highlight" id="Mitski"> <span class="left gone">Mitski</span> 
      <audio controls> 
      <source src="songs/exsong.mp3" type="audio/mpeg"> 
      <source src="songs/exsong.mp3" type="audio/ogg"> 
      <embed height="50" width="100" src="horse.mp3"> 
      </audio> 
     </li> 
     <li id="AdultMom"> 
     <span class="left">Adult Mom</span> 
     <audio controls> 
      <source src="songs/exsong.mp3" type="audio/mpeg"> 
      <source src="songs/exsong.mp3" type="audio/ogg"> 
      <embed height="50" width="100" src="horse.mp3"> 
     </audio> 
     </li> 
</div> 

HTML FORM

<form method="post" action="js/sendmail.php"> 
    <label> Your Email </label> <input type="text" name="email"></input> 
     <input id="submit" type="submit" value="Submit" class="button"> 
</form> 

JS

$("li").click(function() { 
    $('.highlight').removeClass('highlight'); 
    $(this).toggleClass("highlight"); 
    var tBand = jQuery(this).attr('id'); 
    alert(tBand); 
     $("#submit").click(function(){ 
     alert(tBand); 
     $.ajax({url: "sendmail.php", type: "post", data: {"tBand": tBand}}) 
     }); 
}); 

PHP

$email = $_POST['email']; 
$band = $_POST['tBand']; 

mail("[email protected]", "Subject Title",$band,"From: $email"); 
header("Location: ../index.php"); 
alert('success'); 
+2

Поскольку '.ajax' не получает возможность представить его, так как' '

является представление его первым ? –

+0

где находится список html, который мы не можем вам помочь без кода $ («li»). – ncubica

+0

@ncubica добавила его. –

ответ

1

Вы не отправляете данные на сервер с помощью вызова Ajax, отправляемого формой. Вам необходимо отменить отправку формы. Также вы не отправляете электронное письмо, а только tBand.

$("#submit").click(function(e){ 
    e.preventDefault(); 
    $.ajax({ 
     url: "sendmail.php", 
     type: "post", 
     data: { 
      "tBand": tBand, 
      "email", $("[name='email']").val() 
     } 
    }); 
}); 

Также вы, вероятно, хотите, чтобы удалить щелчок, если вы назначаете его несколько раз

$("#submit").off("click").on("click", function(e){ 
Смежные вопросы