javascript结果中的全局变量始终是未定义的

时间:2017-01-26 05:44:10

标签: javascript php

我的全局变量出了问题,希望你能帮助我。

<li>
 <a href="<?php echo site_url("adminController/questionAdd/".$row->subjectid); ?>" id="<?php echo $row->subjectid; ?>" class="subject">Add Question</a>
</li>

现在,从该行开始,我在javascript

中通过click()在此行中传递了我的ID
$(document).ready(function () {
        var correctAnswer;
        var subId;

        $( ".subject" ).click(function() {
            subId = ($(this).attr('id')); //passed the id variable into the global variable
            alert(subId) // when I alert this it returns the value
        });

现在我在这一行中使用了全局变量$(document).ready(function()

$('#form-user').submit(function(e){
                e.preventDefault();

                var me = $(this);
                var correct = correctAnswer;
                var passedSubId = subId; // passed the global variable to this local variable 
                console.log(correct); // this is okey
                console.log(subId); // this is undefined
});

结果

i
undefined

2 个答案:

答案 0 :(得分:1)

您可以使用window声明全局变量,但强烈建议不要使用。

你可以像这样声明一个全局变量:

window.yourVariable = "something";

答案 1 :(得分:0)

您的代码永远不会像您认为的那样工作。

你在那里做什么我认为你点击你的链接,然后将你从第A页移到第B页,你想要使用你在第B页的第A页上设置的那个变量,对不起,但这绝不会工作,当您刷新页面时,您的整个脚本会再次运行,并且它不知道您在上一页上做了什么。 您必须从网址(其中)获取该ID或将其存储在local storage中,请尝试以下操作:

$(document).ready(function () {
    var correctAnswer;
    var subId;

    $( ".subject" ).click(function() {
        subId = ($(this).attr('id')); //passed the id variable into the global variable
        alert(subId) // when I alert this it returns the value
        localStorage.setItem('subId', subId);
        console.log('id stored');
    });

    $('#form-user').submit(function(e){
            e.preventDefault();

            var me = $(this);
            var correct = correctAnswer;
            var passedSubId = subId; // passed the global variable to this local variable 
            console.log(correct); // this is okey
            console.log(subId); // this is undefined

            storedSubId = localStorage.getItem('subId');
            alert(storedSubId); 
            console.log('stored id');
    });
});

无论如何从网址获取它绝对是你想去的方式