Переменная Javascript назначается как [объект HTMLDivElement], а не строка? - PullRequest
0 голосов
/ 30 августа 2009

Мои навыки работы с DOM слабые, и я не могу понять, почему переменной javascript присвоено это значение указателя объекта, а не само строковое значение.

Короткая история заключается в том, что я выполняю вызов AJAX для некоторых экранных данных, и он возвращает html и заполняет div.innerHTML следующим текстом:

 <input id="page_tag_add_input"></input>';

    <span class="page_tag_add"><a href="#" onclick="var newTag = document.getElementById('page_tag_add_input').value; doTagXhr('add_tag.php', newTag); alert(newTag);">Add</a></span>

Функция doTagXhr представляет собой вызов AJAX диспетчера соединений YUI.

Когда пользователь нажимает кнопку «добавить», firebug показывает мне, что переменная newTag хранится как «[object HTMLDivElement]», но когда включается (выше) javascript alert (newTag), он правильно показывает значение в качестве входной текстовой строки ?? Я исчерпал поиски Google :-(

Есть ли какие-нибудь гуру, которые могут указать мне правильное направление? Благодарю.

1 Ответ

1 голос
/ 30 августа 2009

Вы присваиваете newTag свойству DOM Element. Я думаю, вы ошиблись в том, что Firebug сообщает об этом: этот код указывает на то, что он явно не является ссылкой на элемент, и если вы не манипулируете им в функции xhr (в которую вы не вставляли код), то это все еще строка.

Edit:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script>
    function doTagXhr(page, input) {
    window.input = input;
    $.ajax({
        url:page,
        type:'POST',
        data:input
    });
    }
</script>
<input id="page_tag_add_input" value="test">

    <span class="page_tag_add"><a href="#" onclick="var newTag = document.getElementById('page_tag_add_input').value; doTagXhr('regex.php', newTag); alert(newTag);">Add</a></span>

Это всегда остается строкой. Я не знаю, что еще может быть, кроме вашей функции xhr, которая переназначает переменную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...