我想在使用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 {
...
}
任何想法为什么?
答案 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>