Uncaught ReferenceError: parseURL не определен - PullRequest
0 голосов
/ 28 июля 2011

Я определил функцию с именем parseURL в javascript в заголовке моего файла, и у меня есть кнопка, настроенная таким образом, чтобы при ее нажатии она вызывала указанную функцию. Однако по какой-то причине мой отладчик говорит мне, что parseURL не определен. Точная ошибка: «Uncaught 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>

Кажется, что это должно быть легко исправить, я пробовал кучу вещей, но ничего не работает. Любая помощь приветствуется.

Ответы [ 3 ]

2 голосов
/ 28 июля 2011

Переместить это:

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

здесь:

<script type="text/javascript" src="linkedURL.js"> </script>
</BODY>
1 голос
/ 28 июля 2011

Есть ли у вас эти хэши в вашем JavaScript?Если это так, они полностью убьют ваш скрипт.

Если вы хотите комментировать в JavaScript, вы можете использовать однострочные комментарии:

// This is a comment.

или многострочные комментарии:

/* This is
a comment */
0 голосов
/ 28 июля 2011

Я вижу несколько проблем в этом js, одна из которых может вызывать ошибку:

  1. Вы не должны писать, но всегда используйте.Некоторые браузеры довольно глупы.
  2. Вы вызываете document.getElementById ("ссылка") в самом начале скрипта.Когда эта строка выполняется, в документе нет элемента, имеющего ссылку id ... в документе вообще нет элемента.Наивным решением является перемещение всех сценариев в конце страницы, тогда как формально правильное решение - использовать событие onload.
  3. Javascript не поддерживает комментарии с #.Он поддерживает // для одной строки и / * .. * / для нескольких строк.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...