2016-12-23 36 views
0

我有一个输入(分别为ID param,,param3)和一个外部php文件的函数调用​​从窗体中获取三个参数(分别为paramparam1,param3)。我如何发送JavaScript变量到PHP并返回结果

一个ID为results的文本字段显示来自php文件的响应。
我已将onclick函数放在param3上。

我需要每当用户键入param3中的东西时,它应该被发送到php文件,结果显示在文本框中,编号为results

这里是我的代码的PHP文件

<script> 
    function post(){ 
    var param = $('#param').val(); 
    var param2 = $('#param2').val(); 
    var param3 = $('#param3').val(); 
    $.post('curencyconvert.php', { 
     postparam: param, 
     postparam2: param2, 
     postparam3:param3 
    }, function(data){ 
     $('#results').html(data); 
    }); 
    } 
</script> 

我的PHP函数

function Conv($param,$param2,$param3){ 
    //my code here 
    return $output; 
} 
+1

'$ _POST'是在那里你会找到你的''postparam''和'postparam2'等 –

+0

这个问题不是任何阻止形式我的PHP文件。它看起来像JavaScript不工作。甚至没有发送任何东西。我已经检查了javascrit alert()。但找不到数据发送到php – Emma

+0

您应该尝试ajax,如@ Faiz99或甚至@M A SIDDIQUI所述,在您的情况下何时调用方法Conv?它不会自动调用 – Anant

回答

1
if(isset($_POST)){ 
//Calling the defined function here 
Conv($_POST['postparam'], $_POST['postparam2'], $_POST['postparam3']); 
} 

下面添加的功能代码,这些行..和更好的呼应你的输出函数而不是返回它。

+0

这个问题没有geting任何respose形式我的PHP文件。它看起来像JavaScript不工作。甚至没有发送任何东西。我已经检查了javascrit alert()。但发现没有数据发送到php – Emma

+0

在哪里调用post函数??? –

0

jQuery(document).ready(function($) { 
 
$('#param3').change(function() { 
 
// put here the code // 
 
}); 
 
})

+0

您可以使用它来控制#param3中文本的更改,接下来您应该添加代码以将其置于隐藏文本框中,并将文本框的值提交给php文件 –

+0

这是..最多不完整.. – Pogrindis

+0

@Pogrinids我根本不明白他想做什么.. –

0

您在控制台(firbug)得到什么错误?

正如其他答案所述$ _POST应该被使用。

如果PHP代码返回一个数组或返回一个对象,它会返回什么它不能放入输入。返回值必须是一个字符串

PHP代码必须是:

 function Conv($param,$param2,$param3){ 
     //my code here 
      // take particular field of the DB results or resultset that you want to show in the input. 
      return $output['name']; 

     } 

我知道答案是不完整的,因为你的问题是不完整的。 请让我知道控制台的错误,以便我可以进一步帮助您

0

回声而不是回报。

if(isset($_POST)){ 
    echo Conv($_POST['postparam'], $_POST['postparam2'], $_POST['postparam3']); 
} 

做这样的事情,它更干净:

Conv($param, $param2, $param3){ 
    // your code here 
    return $output; 
} 

至于JavaScript部分,jQuery的AJAX是你的朋友

function post(){ 

    var param = $('#param').val(); 
    var param2 = $('#param2').val(); 
    var param3 = $('#param3').val(); 

    $.ajax({ 
     url: '/path/to/file', 
     type: 'POST', 
     data : { postparam: param, postparam2: param2, postparam3: param3 },  
    }).done(function(data) { 
      $('#results').html(data); 
    }); 

}