全局更改javascript变量的值

时间:2013-06-06 07:58:35

标签: php javascript

我有一个页面1.php,代码在这里(只是一个克隆)

<?php
include '2.php'
?>
<script>
function rename(){
var x='renamedvalue';
}
</script>
<input type="button" onclick="return rename();">

页面2.php

<script>
var x ='somevalue';
</script>

我必须在第1页上更改此变量onclick按钮事件的值。

4 个答案:

答案 0 :(得分:3)

由于你将2.php包含在1.php中,你最终会得到一个页面。您可以创建一个全局Javascript值,就像您在2.php中所做的那样,如下所示:

<script>
var x ='somevalue';
</script>

1.php中的问题在于:

var x='renamedvalue';

使用此代码段,您将在重命名函数中重新定义名为x的变量。要使用全局变量x,请更改上面的行以排除“var”(在rename()中重新声明另一个本地值“x”):

x='renamedvalue';

答案 1 :(得分:1)

如果你想在JS和PHP之间传递变量,它可能更容易使用表格:

<script>
function rename(){
    var x='renamedvalue';
    document.getElementById("x").value = x;
}
</script>
<form action="2.php" method="post">
<input type="hidden" value="" id="x" name="x">
<input type="button" onclick="return rename();">
</form>

使page2.php

<script>
var x ='<?php print $_POST["x"] ?>';
</script>

您需要执行一些输入清理,但您明白了

答案 2 :(得分:0)

在js函数之外定义变量使其成为全局变量并允许更改onclick事件的值。

<?php
include '2.php'
?>
<script>
var x = ''; //global variable
function rename(){
x='renamedvalue';
}
</script>
<input type="button" onclick="return rename();">

答案 3 :(得分:0)

您必须使用全局变量x

x='renamedvalue'而不是var x='renamedvalue'