0

初めてIEで動作するloadXML()関数があります。XML データはノードリストとしてグローバル変数に格納され、最初にテーブルに入力するために使用されます。後でユーザー入力に対して検証されます。テーブルにデータが入力されますが、後でユーザーがボタンをクリックして検証を行うと、グローバル変数は不思議なことに空になります。

これはおそらく XMLHttpRequest の非同期性によるものだと理解しています。ノードリストを永続的なグローバル変数に保存するにはどうすればよいですか?

function loadXml(ws)
{
    xml = new XMLHttpRequest();
    xml.onreadystatechange = function ()
    {

        if (xml.readyState == 4 && xml.status == 200)
        {
            xmlDoc = xml.responseXML;
            xmlAns = "";
            x = xmlDoc.getElementsByTagName("question");
            populate();
        }
    }
    xml.open("GET", "xml/" + ws + ".xml", true);
    xml.send();
}
4

0 に答える 0