2016-08-21 39 views
-1

我创建了一个按钮,它会调用一个JS函数div_show()值传递到PHP,而无需使用AJAX

echo '<div id="requestsample"><a name="1" onclick="return div_show(\''.$search_result['serviceid'].'\');" href="#1">'; 

该功能将通过服务ID,以JS.JS功能,然后将调用PHP函数add ()来执行它。当我通过一个具体的数字value.It不是动态服用$ a的值

+6

所以你的问题到底是什么? –

+2

你为什么不在js中写同样的函数呢? –

+0

[客户端和服务器端编程有什么区别?](https://stackoverflow.com/questions/13840429/what-is-the-difference-between-client-side-and-server -side-programming) –

回答

0

PHP不是实时

<script> 
function div_show($a) { 
document.write($a); 
document.write(' <?php add($a); ?> '); 
} 
</script> 

<?php 
function add($a) 
{ 
echo $a; 
//code for calculation 
} 
?> 

PHP添加功能将只exceute这一说法。 当你访问一个php文件时,php解释器将php转换为html。 当您使用JavaScript将php代码添加到html中时,php解释器不再有效。因此您无法实现您想要的内容。

1

我认为在进一步编写代码之前,您需要清除您的困惑> Javascript是一种客户端编程语言,它意味着Javascript是由您的浏览器编译的,但另一方面PHP是服务器端编程语言, PHP代码,然后返回输出为HTML,JSON,XML

<script> 
function div_show($a) { 
document.write($a); 
document.write(' <?php add($a); ?> '); 
} 
</script> 

所以,因为它是一个JavaScript代码,会被浏览器编译上面的代码,当它找到这一行' <?php add($a); ?> ',因为它不明白php输出为字符串,因此不会发生任何事情

所以现在的问题是如何解决问题,只要您点击按钮,您需要使用查询参数提出服务器请求,以便脚本检查条件并运行该功能并将增加的值作为html

简单的例子假设PHP脚本的名称是a.php只会在您的add()方法存在

新的JavaScript将是

<script> 
function div_show($a) { 
    window.location.href = "/a.php?q="+$a; 
} 
</script> 

在a.php只会

<?php 
if(isset($_GET['q'])){ 
$a = $_GET['q']; 
    // run your add($a) method 
} 

?> 
+0

谢谢Achyut Kr Deka.It解决了这个问题。 – costarozakis

+0

您的欢迎,但存在很多标准和有效的方法来做同样的事情 –