php
  • javascript
  • 2013-06-06 62 views 2 likes 
    2

    我有一个页面1.PHP和代码放在这里(只是一个克隆)更改JavaScript变量的值全球

    <?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按钮事件的值。

    +0

    @AliBz。你能通过发布一个答案来说明吗? –

    回答

    3

    由于您将2.php包含在1.php中,因此您最终只能拥有一个页面。你可以创建一个全球性的JavaScript值,像你已经在做2.PHP,像这样:

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

    你在1.PHP问题就在这里:

    var x='renamedvalue'; 
    

    在这个片段中,你正在重新定义重命名函数中名为x的变量。使用全局变量x,更改上面的行排除“VAR”(其redeclares另一个本地值“X”内的重命名()):

    x='renamedvalue'; 
    
    +0

    如果我必须更改php变量的值,该怎么办。 –

    +0

    对不起,我不明白你的问题。您希望如何更改PHP值?在哪些情况下?那是什么价值? –

    +0

    我的意思就像一个javscript变量是可以改变一个全局php变量的值。 –

    0

    限定js函数外部变量使其全球,并允许改变onclick事件的价值。

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

    您必须使用全局变量x

    写的x='renamedvalue'代替var x='renamedvalue'

    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> 
    

    您将需要执行一些输入清理,但您的想法是

    +0

    如果你想保持变量在同一页面上,你可以使用传递变量的Ajax方法,但它会以类似的方式工作 – Bloafer

    相关问题