2011-09-20 74 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; 
}