簡體   English   中英

未捕獲ReferenceError:未定義loadData! 為什么無法識別我的功能?

[英]Uncaught ReferenceError: loadData is not defined! Why doesn't it recognize my function?

我得到了我正在嘗試通過將按鈕類型與onclick = function結合使用的javascript代碼。 不幸的是,它給了我錯誤:函數“ loadData()”未定義,我不明白為什么。 這是我的JavaScript代碼:

function loadData(url) {
    var serialNumber = document.getElementById('searchBox').value;
    var xmlhttp;
    var txt, xx, x, i;
    alert(serialNumber);
    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    }
    else {// code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            txt = "<table border='1'><tr><th>Serial</th><th>Product number</th><th>Product name</th><th>Account name</th><th>Document number</th></tr>";
            x = xmlhttp.responseXML.documentElement.getElementsByTagName("PRODUCT");
            for (i = 0; i < x.length; i++) {
                if (
                txt = txt + "<tr>";
                xx = x[i].getElementsByTagName("SERIAL");
                {
                    try {
                        txt = txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";
                    }
                    catch (er) {
                        txt = txt + "<td>&nbsp;</td>";
                    }
                }
                xx = x[i].getElementsByTagName("PRODNM");
                {
                    try {
                        txt = txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";
                    }
                    catch (er) {
                        txt = txt + "<td>&nbsp;</td>";
                    }
                }
                xx = x[i].getElementsByTagName("PRODNR");
                {
                    try {
                        txt = txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";
                    }
                    catch (er) {
                        txt = txt + "<td>&nbsp;</td>";
                    }
                }
                xx = x[i].getElementsByTagName("ACCNAME");
                {
                    try {
                        txt = txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";
                    }
                    catch (er) {
                        txt = txt + "<td>&nbsp;</td>";
                    }
                }
                xx = x[i].getElementsByTagName("NRDOC");
                {
                    try {
                        txt = txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";
                    }
                    catch (er) {
                        txt = txt + "<td>&nbsp;</td>";
                    }
                }
                txt = txt + "</tr>";
            }
            txt = txt + "</table>";
            document.getElementById('showTable').innerHTML = txt;
        }
    }
    xmlhttp.open("GET", url, true);
    xmlhttp.send();
}

這是調用該函數的HTML代碼:

<input type="text" id="searchBox" value="Enter serial number here" onFocus="this.value=''"/>
<input type="button" id="search" value="Search" onclick="loadData('prod_catalog.xml')"/>

這是因為您沒有正確包含函數的代碼,或者函數loadData之前的代碼中之前存在錯誤。 檢查控制台是否有錯誤。 還檢查是否定義了loadData。

問題是貝特拉巴說的“如果”。 問題不在於它沒有關閉,而是在於我的嘗試是做一些失敗的事情,而我卻以某種方式忘記了那一點。 感謝您的及時回復! :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM