假设我在php文件(index.php)中有一个变量:
$PHP_variable = "string";
我想把它传递给我的JS文件(functions.js),目前正在php文件中读取。这可能吗?
例如,在我的php文件中:
<input type="text" name="textfield" value="'.$PHP_variable.'" />
<input type="button" id="actionButton" />
在js-file中:
$('#actionButton').click(function(){
alert(THE_PHP_VARIABLE);
});
如何将$PHP_variable传递到js文件?我宁愿不使用js代码直接对php脚本(我知道如何解决它的方式)。
听起来您正在考虑使用PHP生成Javascript,这是可能的,尽管它有点奇怪。同样奇怪的是,你真的没有传递变量,你使用它来渲染相同值的javascript变量。
相反,我认为你真正想做的是使用JS从HTML元素的value
属性中读取变量,因为你已经在那里存储了变量的值。
这可以有很多方法,但因为它看起来像你在使用jQuery,它只是:
$('#actionButton').click(function(){
$value = $this.attr('value');
alert($value);
});
你就快到了-
$('#actionButton').click(function(){
var THE_PHP_VARIABLE = $('input[name="textfield"]').val();
alert(THE_PHP_VARIABLE);
});
由于该值在页面加载时回显,因此您可以通过在正确的元素上使用val()
轻松获得该值。
如果你想在加载页面时分配变量,你也可以在PHP中这样做-
<script type="text/javascript">
<?php
echo "var THE_PHP_VARIABLE = " . $PHP_variable .";";
?>
</script>
感谢所有的答案,我选择使用一个带有id和php变量的隐藏输入字段作为这个输入的值,然后在js文件中,我简单地从这个隐藏的输入
获取val()$input_val = $('#hiddenInputID').val();