将输入值赋给变量

assigning input value to variable

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

我在 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 函数获取输入值,然后提醒它检查其工作情况。我只是得到一个空白框。谁能看到任何错误?谢谢

$.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);
});