我有一个生成变量的php文件,我希望将变量放入一个javascript函数,该函数由主页上的onclick调用。这可以从PHP发送到JavaScript吗?
答案 0 :(得分:18)
您可以执行以下操作:
<script type='text/javascript'>
document.body.onclick(function(){
var myVariable = <?php echo(json_encode($myVariable)); ?>;
};
</script>
答案 1 :(得分:5)
您的JavaScript必须在PHP解析的文件中定义。
例如,在index.php中,您可以放置
<?php
$time = time();
?>
<script>
document.write(<?php echo $time; ?>);
</script>
答案 2 :(得分:5)
只需写下:
<script>
var my_variable_name = "<?php echo $php_string; ?>";
</script>
现在,它可以在上面代码的任何位置以my_variable_name
的名称作为JavaScript变量使用。
答案 3 :(得分:2)
如果我理解正确,你应该能够做到以下几点:
function clicked() {
var someVariable="<?php echo $phpVariable; ?>";
}
答案 4 :(得分:1)
一个很好的选择是使用jQuery / AJAX。 Look at these examples并在您的服务器上试用它们。在此示例中,在FILE1.php中,请注意它正在传递空值。如果您愿意,您可以传递一个值,这可能看起来像这样(假设javascript vars称为username
和password
:
data: 'username='+username+'&password='+password,
在FILE2.php示例中,您将检索这些值:
$uname = $_POST['username'];
$pword = $_POST['password'];
然后执行MySQL查找并返回值:
echo 'You are logged in';
这会将消息You are logged in
传递给FILE1.php中的success函数,消息字符串将存储在名为“data”的变量中。因此,成功函数中的alert(data);
行将提醒该消息。当然,您可以echo
任何您喜欢的内容,甚至是大量的HTML,例如整个表结构。
Here is another good example要审核。
方法是创建表单,然后使用jQuery检测按钮按下并通过AJAX将数据提交到辅助PHP文件。上面的例子说明了如何做到这一点。
辅助PHP文件接收变量(如果发送任何变量)并返回响应(无论您选择发送什么)。然后,该响应将在AJAX调用的Success:部分中显示为“data”(在这些示例中)。
jQuery / AJAX代码是javascript,因此您有两个选择:您可以将它放在主PHP文档中的<script type="text/javascript"></script>
标记内,也可以放在PHP文档底部的<?php include "my_javascript_stuff.js"; ?>
。如果您使用的是jQuery,请不要忘记在给出的示例中包含jQuery库。
在你的情况下,听起来你几乎可以反映我建议的第一个例子,在AJAX成功函数中不发送任何数据并接收响应。但是,无论您需要对数据做什么,都必须在成功函数内部进行。起初看起来有点奇怪,但它确实有效。
答案 5 :(得分:0)
您可以将PHP值传递给JavaScript。 PHP将执行服务器端,因此将计算该值,然后您可以将其回显到包含javascript的HTML。然后,javascript将在客户端浏览器中执行,其值为PHP计算服务器端。
<script type="text/javascript">
// Do something in JavaScript
var x = <?php echo $calculatedValue; ?>;
// etc..
</script>