如何将php变量传递给js事件window.location

时间:2013-07-19 01:43:32

标签: php javascript

我希望在更新后在当前页面视图中重定向用户。请看我的代码。请帮我解决这个问题。我不熟悉JavaScript。

echo '<script type="text/javascript">';
echo 'var myvar = $currString ';
echo 'alert("Cash fund has been updated"); window.location = "../cashfund.php?terminalid='+myvar+'"';
echo '</script>';   

谢谢

3 个答案:

答案 0 :(得分:0)

您可能需要围绕$ currString

的引号
 echo 'var myvar = "'.$currString.'";';

然后,您的位置设置字符串需要正确排序报价:

 echo 'alert("Cash fund has been updated"); window.location = "../cashfund.php?terminalid="+myvar;';

答案 1 :(得分:0)

试试这个

echo '<script type="text/javascript">\n';
$currString = "yo";
echo 'var myvar = ' . json_encode($currString) . '\n';
echo 'alert("Cash fund has been updated");\nwindow.location = "../cashfund.php?terminalid=" + myvar ';
echo '</script>';  

json_encode应该把引号放在那里。

答案 2 :(得分:0)

您可以使用json_encode来实现此目的,因为JSON在很大程度上是JavaScript的一个子集:

$url = '../cashfund.php?terminalid=' . urlencode($myvar);
echo '<script type="text/javascript">';
echo 'alert("Cash fund has been updated");';
echo 'window.location = ' . json_encode($url, JSON_HEX_TAG | JSON_HEX_AMP) . ';';
echo '</script>';

JSON_HEX_TAG | JSON_HEX_AMP是为了避免生成无效的HTML(如果根据XML或XHTML规则解析文档,则阻止跨站点脚本)。