0

我在文件头部的 javascript 中定义了一个名为 parseURL 的函数,并且我设置了一个按钮,以便在单击它时调用该函数。但是,由于某种原因,我的调试器告诉我 parseURL 没有定义。确切的错误是“未捕获的 ReferenceError:未定义 parseURL”

<HTML xmlns="http://www.w3.org/1999/xhtml">
<HEAD>
    <link rel="stylesheet" href="../css/style.css" type="text/css" />   
    <TITLE>
    Pic Grabber (javascript)
    </TITLE>
<script type="text/javascript" src="linkedURL.js" />

<script type="text/javascript">
var Page = {};
Page.currentURL = null;
Page.link = document.getElementById("link");

/*
###################################
# The function that "doesn't exist"
###################################
*/

function parseURL(){
    Page.url = document.getElementById("url").value;

    if(!checkValidURL(Page.url)){
        alert("Must Enter a valid URL");
    }

    Page.link.innerHTML = Page.url;

    return true;
}

function checkValidURL(url){
    var request = false;
    if (window.XMLHttpRequest) {
        request = new XMLHttpRequest;
    } 
    else if (window.ActiveXObject) {
        request = new ActiveXObject("Microsoft.XMLHttp");
    }
    else{
        alert("FAIL");
    }

    if (request) {
        request.open("GET", url);
        if (request.status == 200) { 
            return true; 
        }
    }

    return false;
}

</script>
</HEAD>
<BODY>
    <div class="wrap">
        <h1><a href="#">My Database</a></h1>
        <ul id="menu">
            <li><a href="../index.php">Home</a></li>
            <li><a href="../upload.php">Upload</a></li>
            <li><a href="#">Advanced Search</a></li>
            <li><a href="#">My Profile</a></li>
        </ul>
        <div class="clear"></div>
        <div id="left">
            <a href="#" id="link"></a>
        </div>
        <div id="right">
            <div class="box">
                <form id="input">
                <p>URL:</p><br/>
                <input type="text" id="url" /><br />

                            #################################
                            # This is where the error appears
                            #################################

                <input type="button" id="getButton" value="Get Pics" onclick="parseURL()" />
                <input type="button" id="back" value="<< Back" onclick="back()" disabled="true"/>
                <input type="button" id="next" value="Next >>" onclick="next()" disabled="true"/>
                </form>
            </div>
        </div>
    </div>

</BODY>

</HTML>

似乎它应该是一个简单的解决方法,但我已经尝试了很多东西,但似乎没有任何效果。任何帮助表示赞赏。

4

3 回答 3

2

移动这个:

<script type="text/javascript" src="linkedURL.js" />

到这里:

<script type="text/javascript" src="linkedURL.js"> </script>
</BODY>
于 2011-07-27T21:08:03.503 回答
1

你的 JavaScript 中真的有这些哈希值吗?如果是这样,他们会完全杀死你的脚本。

如果要在 JavaScript 中进行注释,可以使用单行注释:

// This is a comment.

或多行注释:

/* This is
a comment */
于 2011-07-27T21:15:13.280 回答
0

我可以在该 js 中看到一些问题,其中一个可能导致错误:

  1. 你不应该写,但总是使用 . 有些浏览器非常愚蠢。
  2. 您在脚本的开头调用 document.getElementById("link") 。当该行执行时,文档中没有具有 id 链接的元素……文档中根本没有元素。一个天真的解决方案是将所有脚本移动到页面末尾,而正式正确的解决方案是使用 onload 事件。
  3. Javascript 不支持带有 # 的注释。它支持 // 单行,/* .. */ 多行。
于 2011-07-27T21:22:42.013 回答