2

我有一个页面 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>

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

4

4 回答 4

3

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

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

您在 1.php 中的问题在于:

var x='renamedvalue';

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

x='renamedvalue';
于 2013-06-06T08:02:03.680 回答
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>

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

于 2013-06-06T08:03:31.193 回答
0

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

<?php
include '2.php'
?>
<script>
var x = ''; //global variable
function rename(){
x='renamedvalue';
}
</script>
<input type="button" onclick="return rename();">
于 2013-06-06T08:03:04.317 回答
0

你必须使用全局变量 x

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

于 2013-06-06T08:03:21.957 回答