2015-04-06 4 views
0

Нижеприведенный сценарий помогает с обработкой формы, запрашивающей номер и значения имени, а затем отправляет ее на process.php, а также отображает подтверждение и скрывает кнопку, которая запускает модальную форма, чтобы пользователь не мог повторить попытку заполнить форму.значения не передаются на process.php

Скрипт для обработки данных перейти к process.php

$(document).ready(function() { 

function successHandler(){ 
    console.log('Success'); 
    $("#thanks").html(msg); 
    $('#form-content').modal('hide'); 
} 

function errorHandler(){ 
    console.log('Error'); 
    alert("Error"); 
} 

var nameval = $('#name').val(); 
var numberval = $('#number').val(); 

$("form#contact").submit(function(){ 
    $.ajax({ 
     type: "POST", 
     url: "process.php", 
     data: { 
      name: nameval, 
      number: numberval, 
      submit: true 
     }, 
     success: function(msg){ 
      $("#thanks").html(msg); 
      $('#form-content').modal('hide'); 
      return false; 
     }, 
     error: function(){ 
      alert("Error"); 
      return false; 
     } 
    }); 
    return false; 
    }); 
}); 

Все действие делает генерировать письмо с HTML из сценария process.php, но не включает в себя данные, которые захватили из формы, я считаю, в этом скрипте есть ошибка, так как я не могу найти что-либо в форме или process.php, которая использует PHPMail() что-то не так.

Не могли бы вы помочь?

Update

<?php 
if (isset($_POST['submit'])) { 
$name = ($_POST['name']); 
$number = ($_POST['number']); 
echo "<span class=\"alert alert-success\">THANKS! SUBMITTED</span>"; 

$to = "EMAIL BLANKED"; 
$subject = "Alert!"; 

$message = "name: $name number: $number"; 

// Always set content-type when sending HTML email 
$headers = "MIME-Version: 1.0" . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
// More headers 
$headers .= 'From: <email blank>' . "\r\n"; 

mail($to,$subject,$message,$headers); 
} 
else { echo '<div class="alert alert-error">Error</div>' ; } 
?> 
+0

Нет ошибки JS? –

+0

Обновите вопрос вместе с кодом 'PHP', и даже если нет ошибки, укажите полный путь в вашем' url' –

+0

Можете ли вы поделиться своим кодом php? –

ответ

2

Вы должны поместить эти две строки:

var nameval = $('#name').val(); 
var numberval = $('#number').val(); 

внутри функции представить, как это

$("form#contact").submit(function(){ 
var nameval = $('#name').val(); 
var numberval = $('#number').val(); 

, потому что если вы установите значения переменных перед подачей формы входные данные будут mos вероятно, будет пустым.

+0

Спасибо, что указали, что вне! Он решил проблему. – KP2012

Смежные вопросы