2016-12-26 4 views
-1

(извините за мой плохой английский).Как отправить результат javascript на почту php?

Я хочу, чтобы отправить результат JS на почту, так что мой код:

В моей странице index.php:

<form action="send.php" method="post" name="action" id="action"> 
    <p> 
     <label>info1 :</label> 
     <input type="text" name="info1" id="info1" value=""> 
    </p> 
    <p> 
     <label>info2 :</label> 
     <input type="text" name="info2" id="info2" value=""> 
    </p> 

    <button type="button" class="btn" onclick="javascript:calculate()">Calcul javascript</button> 

<p>info3 : <span id="info3"></span></p> 
<p>info4 : <span id="info4"></span></p> 
<p>info5 : <span id="info5"></span></p> 
<button type="button" class="btn" onclick="javascript:result()">Result</button> 

<input type="text" name="Name"> 
<input type="text" name="Email"> 
<input type="text" name="phone"> 
<input type="submit" value="Send"> 

ОК, так что я хочу послать результат идентификатор (info3, info4 и info4) в файл php для отправки почты.

Как я могу это сделать, пожалуйста?

+0

я не понял, что вы хотите, но я думаю, что вы хотите передать некоторое значение из JS в PHP для отправки почты ... если да, то напишите Аякс ... –

+0

yes @AbhijitJagtap это это ... – Malik

ответ

0
<button type="button" class="btn" id="result">Send</button> 

// вместо подавать входной использовать кнопку <button type="button" class="btn" id="result">Send</button> // если вы хотите вводимое значение, то просто написать var q = $(#info1).val();

$(function() { 
    $("body").on("click", "#result", function() { 
     var q = $(#info1).val(); 
     var p = $(#info2).val(); 
     var t = $(#info3).text(); 
     var m = $(#info4).text(); 
     var v = $(#info5).text(); 
     var n = "info3=" + t + "&info4=" + m + "&info5=" + v + "&info1=" + q + "&info2=" + p; 

     $.ajax({ 
      type: "POST", 
      url: "ajax/mail.php", 
      data: n, 
      success: function(t) { 
     alert('Mail Sent'); 
      } 
     }); 
    }); 
}); 
+0

это решение не работает для меня ... в DOM я вижу «info1 = okforthisinfo & info2 = okforthisinfo & ** info5 = ** & Name = myNamedf & Email = MyEmail & Phone = Myphonefdfd" – Malik

+0

thks a lot @Sagar это решение хорошее, я думаю, потому что я могу видеть в dom запрос на почту, но я хочу tis informartion, когда я отправлю форму в кнопку отправки. – Malik

+0

Когда я нажимаю для отправки, ничего не происходит ... – Malik

0

Загрузка данных асинхронно с сервера, используя GET или POST HTTP Запросы. Установите тип данных (xml, json, script, text, html) и декодируйте возвращенные данные.

Отправка запросов POST очень похожа ($ .post() в jQuery). Однако есть много доступных вариантов - больше, чем может быть охвачено в одном сообщении. Вот полезная функция помощника, чтобы вы начали:

function postAjax(url, data, success) { 
    var params = typeof data == 'string' ? data : Object.keys(data).map(
      function(k){ return encodeURIComponent(k) + '=' + encodeURIComponent(data[k]) } 
     ).join('&'); 

    var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"); 
    xhr.open('POST', url); 
    xhr.onreadystatechange = function() { 
     if (xhr.readyState>3 && xhr.status==200) { success(xhr.responseText); } 
    }; 
    xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); 
    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
    xhr.send(params); 
    return xhr; 
} 
// example request with data object 
    var info3 = document.getElementById('info3').innerHTML; 
    var info4 = document.getElementById('info4').innerHTML; 
    var info5 = document.getElementById('info5').innerHTML; 

postAjax('http://foo.bar/', {'info3' : info3, 'info4' :info4,'info5':info5 }, function(data){ console.log(data); }); 
+0

thks для вашего ответа, но для меня сложнее, я нооб, решение Sagar Singh - это хорошо, я думаю, но мне нужно отправить всю информацию о форме за это же время. – Malik

+0

thks за вашу помощь !!! – Malik

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