使用Javascript访问服务器变量

时间:2016-05-18 09:48:19

标签: javascript php forms google-analytics

我有一个用于订购不同产品的网络表单。表单后面的逻辑(DB连接等)是用PHP编写的。现在,我想通过Google Analytics跟踪提交的表单。

只有一种形式,访问者可以通过复选框选择要订购的产品。由于这是可变的,我不能简单地用onClick-Event调用GA函数。我的解决方案是将有效复选框写入$ _POST ['order'],然后通过JavaScript提取该数据以填充函数ga('send', 'event',...)的参数,如下所示:var ordertype = <?php echo $_POST['order']; ?>;

虽然确实有效,但每当打开页面而没有填充Post-Data时,我的JS看起来像var ordertype = ;,它确实在控制台上产生错误(当然) 。使用var ordertype = <?php echo if(isset( $_POST['order']); ?>;之类的东西也不起作用,因为它不会输出任何内容。

关于如何更优雅地做到这一点的任何想法?

2 个答案:

答案 0 :(得分:1)

只需将var ordertype =放入您的回音中:

<?php if(isset($_POST['order'])){
    echo 'var ordertype = ' . $_POST['order'] . ';'
}?>

这样,如果未设置ordertype,则根本不会定义$_POST['order']。如果您希望将其设置为其他值,只需添加else子句。

答案 1 :(得分:0)

使用此解决方法:

var ordertype = ''+<?php echo if(isset( $_POST['order']); ?>;

这样,如果post值不存在,变量ordertype将为空字符串,稍后,您可以为其分配更新值,因为它已在上面声明。