从Javascript调用的PHP静态函数返回错误的值

时间:2018-05-01 19:50:58

标签: javascript php

我有一个基本的静态PHP函数,它返回存储在$ _SESSION中的值。

static function getOption()
{
    //return correct value for title radio selection
    if($_SESSION['foo']=='one')
        return 1;
    else if($_SESSION['foo']=='two')
        return 2;
    else
        return 0;
}

我使用返回值为无线电输入设置正确的值。

<script>
    (function()
    {
        var opt = <?php echo Chart::getOption(); ?>;
        document.getElementsByName('foo')[opt].checked = true;
    })();
</script>

它完美无缺,直到我调用我的重置功能,它会破坏会话并启动一个新会话。当我调用我的复位功能时,它仍然会回显静态函数中的正确值。但是,由于某种原因,它会在脚本部分返回"<br />"

任何形式的帮助都将受到高度赞赏。

2 个答案:

答案 0 :(得分:0)

我解决了这个问题。当我可以直接从$ _SESSION访问该值时,我愚蠢地使用静态函数将$ _SESSION值发送到另一个页面。

<script>
    (function()
    {
        var opt = <?php echo $_SESSION['option']; ?>;
        document.getElementsByName('foo')[opt].checked = true;
    })();
</script>

此脚本在body标记结束之前设置,因此DOM已经加载并且它可以正常工作。

答案 1 :(得分:-2)

检查您的HMTL代码并删除<br/>标记。