Javascript变量被指定为[object HtmlDevice],而不是字符串?

Javascript变量被指定为[object HtmlDevice],而不是字符串?,javascript,dom,Javascript,Dom,我的DOM技能很弱,我无法理解为什么javascript变量被分配这个对象指针值而不是字符串值本身 简而言之,我正在对一些屏幕数据进行AJAX调用,它返回html并用以下内容填充div.innerHTML: <input id="page_tag_add_input"></input>'; <span class="page_tag_add"><a href="#" onclick="var newTag = document.getElem

我的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函数是一个YUI连接管理器AJAX调用

当用户单击add(添加)时,firebug向我显示newTag变量存储为“[object HtmlDevice]”,但当警报(newTag)javascript启动时(如上),它会将值正确显示为输入文本字符串??我已经用尽了谷歌搜索:-(


有没有什么大师可以为我指出正确的方向?谢谢。

您正在将newTag分配给DOM元素属性。我认为您弄错了Firebug报告的内容,该代码表明它显然不是元素引用,除非您在xhr函数中操作它(您没有将代码粘贴到该函数中)那它还是一根线

编辑:


函数doTagXhr(页面,输入){
window.input=输入;
$.ajax({
网址:第页,
类型:'POST',
数据:输入
});
}

这始终是一个字符串。除了重新分配变量的xhr函数之外,我不知道还有什么其他变量。

谢谢您的提示性回答。对不起,也许我的措辞错了。当我提到Firebug时,我的意思是我可以看到正在发布的newTag参数,它正在发送字符串“[object HtmlLevel]”而不是我想要的输入字段的值。但是,是的,您关于将变量分配给DOM元素属性的评论听起来很有趣。即使我没有声明变量并将getElementById直接放入函数调用,例如:doTagXhr('add_tag.php',document.getElementById('page_tag_add_input')。value)我也遇到了同样的问题…嗯?需要更多的思考。也需要更多的咖啡。你能将代码发布到你的xhr函数吗?我复制了你正在尝试做的事情,但我没有体验到你是什么。这必须是xhr函数。Lifesaver!我的用户错误。我的doTagXhr函数与标记名变量有重叠,它拾取了内容另一个html项目的nts。非常感谢!!
<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>