javascript - Uncaught ReferenceError: parseURL is not defined - Stack Overflow

I've defined a function named parseURL in javascript in the head of my file, and I have a button s

I've defined a function named parseURL in javascript in the head of my file, and I have a button set so that when it is clicked, it should call said function. However, for some reason my debugger is telling me that parseURL is not defined. The exact error is "Uncaught ReferenceError: parseURL is not defined"

<HTML xmlns="">
<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>

It seems like it should be an easy fix, I've tried a bunch of things though and nothing seems to be working. Any help is appreciated.

I've defined a function named parseURL in javascript in the head of my file, and I have a button set so that when it is clicked, it should call said function. However, for some reason my debugger is telling me that parseURL is not defined. The exact error is "Uncaught ReferenceError: parseURL is not defined"

<HTML xmlns="http://www.w3/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>

It seems like it should be an easy fix, I've tried a bunch of things though and nothing seems to be working. Any help is appreciated.

Share Improve this question edited Oct 26, 2016 at 14:22 ps2goat 8,4951 gold badge39 silver badges73 bronze badges asked Jul 27, 2011 at 21:06 Andrew BortAndrew Bort 31 silver badge2 bronze badges
Add a ment  | 

3 Answers 3

Reset to default 2

Move this:

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

to here:

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

Do you actually have those hashes in your JavaScript? If so, they'll kill your script pletely.

If you want to ment in JavaScript, you can use single line ments:

// This is a ment.

or multi-line ments:

/* This is
a ment */

I can see a few problems in that js, one of which may be causing the error :

  1. You should not write , but always use . Some browsers are quite stupid.
  2. You call document.getElementById("link") right at the beginning of the script. When that line executes, there is no element in the document having id link ... there is no element in the document at all. A naive solution is to move all the scripts at the end of the page, while the formally correct solution is to use the onload event.
  3. Javascript does not support ments with #. It supports // for single lines, and /* .. */ for multiple lines.

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745481660a4629583.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信