简体   繁体   English

在jQuery click()中使用PHP变量?

[英]Use a PHP variable inside a jquery click()?

I have this, 我有这个,

    $(document).ready(function(){

        $('#link').click(function(){
            var user_login = <?php $base_url; ?>;
            window.location = user_login + '/login';
        });

    });

note that $base_url is global variable. 请注意, $base_url是全局变量。 This works in FF but not on Chrome and IE. 这适用于FF,但不适用于Chrome和IE。 Thanks. 谢谢。

You need to add quotes around the php tags to designate that the value of $base_url is a string: 您需要在php标记周围添加引号,以指定$ base_url的值为字符串:

$(document).ready(function(){

    $('#link').click(function(){
        var user_login = "<?php echo $base_url; ?>";
        window.location = user_login + '/login';
    });

});

That way, when the browser gets this block, it will look something like: 这样,当浏览器获取此块时,它将类似于:

$(document).ready(function(){

    $('#link').click(function(){
        var user_login = "http://www.example.com"; // after php is executed
        window.location = user_login + '/login';
    });

});

You need to echo the variable, not just simply have it in a code block. 您需要回显变量,而不仅仅是将其包含在代码块中。 And for safety, to prevent introducing JS syntax errors, you should json-encode the value: 为了安全起见,为防止引入JS语法错误,您应该对值进行json编码:

        var login = <?php echo json_encode($base_url); ?>;

See below, note the quotes around the PHP echo 参见下文,注意PHP回声周围的引号

$(document).ready(function(){
    $('#link').click(function(){
        var login = '<?php echo $base_url; ?>';
        window.location = user_login + '/login';
    });

});

I suppose its a PHP file, you need to surround your variable contents by quotes to javascript 我想它是一个PHP文件,您需要用javascript引号将变量内容括起来

 $(document).ready(function(){

        $('#link').click(function(){
            var login = <?php '\''.$base_url.'\''; ?>;
            window.location = user_login + '/login';
        });

    });

如其他答案所述,请在PHP文件中而不是.js文件中运行此脚本 ,并且不要忘记在变量中回显并添加引号(在javascript中)!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM