在javascript if语句中使用php变量

时间:2014-09-07 18:47:13

标签: javascript php

我想在使用php if语句时将$_POST['foo']变量传递给JavaScript变量。但它不起作用。关于如何让它运行的任何建议?

<?php
if(isset($_POST['foo']))    
{    
?>
<script>
var jFoo= <?php echo json_encode($_POST['foo']); ?>;
</script>
<?
}


 else {
    ...
    }
    ?>

编辑:

这很奇怪: 我实际上是想让代码像这样运行(这不起作用):  

if(isset($_POST['foo']))    
{    
?>
<script>
var jFoo= <?php echo json_encode($foo); ?>;
</script>
<?
}
else {
...
}

但是,当我这样做时,它起作用了:

<?php
if(isset($_POST['foo']))    
{    
?>
<script>
var jFoo= <?php echo json_encode($_POST['foo']); ?>;
</script>
<?
}
else {
...
}

任何想法为什么?

2 个答案:

答案 0 :(得分:2)

我对您的脚本进行了简单的更改,它对我有用。我更改了第9行中的代码

<?php
if(isset($_POST['foo']))    
{    
?>
<script>
var jFoo= <?php echo json_encode($_POST['foo']); ?>;
alert(jFoo);
</script>
<?php
}
else {

}
?>

<form action="" method="post">
    <input type="text" name='foo' />
    <button type="submit">Submit</button>
</form>

答案 1 :(得分:1)

此代码正常工作:

        <form method="post" action="">
             <input type="text" name="foo"></input>
             <input type="submit" name="submit" value="submit">
        </form>
        <script type="text/javascript">
           <?php
              if(isset($_POST['foo'])) {
           ?>
           var jFoo = <?php echo json_encode($_POST['foo']); ?>;
           alert(jFoo); // test
           <?php } ?>
        </script>