将输入值分配给变量

时间:2015-04-05 03:27:08

标签: javascript json variables input assign

我正在尝试将输入值分配给我使用数据库中的JSON / PHP检索的变量。每次我输出它时都会得到一个空白/空值。

我在javascript文件的顶部创建了全局变量:

 var theAge=0;


 function startApplication(){
    getData();
    getAge();
    alert(theAge);
 }



 function getData(){
 $.getJSON('http://www.myphpfile.co.uk/myfile.php', function(data) {
                    $.each(data, function(key, val) {
                            $("#userAge").val(val.age);  
                    });
            });
 }



 function getAge(){
    theAge = document.getElementById('#userAge').value;
 }

所以我创建变量theAge,从数据库中获取数据并将其显示在输入字段中,然后尝试使用getAge函数获取输入值,然后提醒它检查其工作情况。我刚刚得到一个空白框。谁能看到任何错误?感谢。

1 个答案:

答案 0 :(得分:2)

$.getJSON是对远程URL的异步调用,这意味着在获取响应时脚本会继续该行。

当您的脚本到达getAge();alert(theAge);时,响应尚未返回,因此theAge仍为0。

无论您想要从远程调用获得的值如何,都需要作为回调函数传递。您已经在那里传递了一个函数(function(data) { $.each...) - 需要处理您需要对该响应执行的其他操作(例如,getAge()并警告该值)在那里。

<强>更新

分配值并在回调中提醒它:

$.getJSON('http://www.myphpfile.co.uk/myfile.php', function(data) {
     $.each(data, function(key, val) {
         $("#userAge").val(val.age);  
     });
     theAge = document.getElementById('userAge').value;
     alert(theAge);
});