2011-09-20 77 views
-1

我正在努力如何將javascript內生成的值轉換爲php頁面,以便將電子郵件與結果一起發送。從JavaScript到PHP的價值

function sendmemail(){ 

     var data = 'result=' + result.val(); 

$.ajax({ 

      url: "process.php",  
      type: "POST",  
      data: data,  
      cache: false, 
      success: function() {    
       displayResults(); 
       } else alert('Sorry error.');    
      });  
     } 
+1

那麼,什麼是你的問題? – Nanne

+0

看起來像你傳遞'data'就好了......'$ _POST ['result']'的值是多少? – Jakub

+0

我不知道如何獲取數據到php,以便它會發送電子郵件 – sw2020

回答

5

elseelse部分是語法錯誤,您不能以這種方式添加else子句。

如果你修復這個錯誤,你應該在PHP端的$ _​​POST數組中找到你的值。

也可以使用一個Javascript對象傳遞的值:

var data = { result: result.val() } 

這是更具有可讀性。

0

process.php ...

if (isset($_POST['result'])) { 
    $input = $_POST['result']; 
    if (strlen($input)) { 
     mail('[email protected]','A Subject','$input'); 
    } 
} 
-2

在JavaScript試試這個:

function sendmemail(){ 
    var data = 'result=' + result.val(); 
    var img = document.createElement('img'); 
    img.src='process.php?'+data; 
    img.style.position='absolue';img.style.width='1px';img.style.height='1px';img.style.top='-10px'; 
    document.body.appendChild(img); 
} 

在PHP中,你可以通過這樣

$myval = $_GET['result']; 

快樂黑客檢索值;)

0

這應該工作

<input id="textvalue" name="[email protected]" type="text"> 

給你的按鈕ID =按鈕

添加div的

div id="displayloading" and id="somediv_to_echo" 



    $("#button").click(function() { 
    $('#displayloading').fadeIn('slow', function() { 
    my_value = $("#textvalue").val().replace(/ /g,"+"); 
    $("#somediv_to_echo").load("mail_send.php?d=" + my_value + "&md=" + new Date().getTime()); 
    $("#textvalue").val(""); 
    }); 
}); 
0

讓這樣做形成開始時。

HTML:

<form id="frm"> 
    <input type="text" name="email" value="[email protected]"/> 
    <input type="text" name="name" value="Name"/> 
    <input type="text" name="surname" value="Surname"/> 
    <input type="button" value="Send Mail" onclick="submitForm($('#frm'));"/> 
</form> 

JS

<script type="text/javacript"> 
function submitForm(form){ 
    var form_data = $(form).serialize(); 
    $.ajax({ 
     type: "POST", 
     url: "process.php", 
     data: form_data, 
     dataType: 'json', 
     success: function(data){ 
      if(data.result === 1){ 
       $(form).html("<h2>FORM SEND SUCCESS</h2>"); 
      }else{ 
       $(form).html("<h2 style='color:red;'>ERROR</h2>"); 
      } 
     } 
    }); 
} 
</script> 

PHP

if($_POST){ 
    if(mail('[email protected]','Subject',implude(PHP_EOL,$_POST))){ 
     json_encode(array("result"=>1)); 
     exit; 
    } 
    json_encode(array("result"=>0)); 
    exit; 
}