javascript - IE 处理 javascript 对象值的方式不同?

标签 javascript internet-explorer

我有一个脚本如下

    document.getElementById('lan').innerHTML=lan;
    document.getElementById('city').innerHTML=city;
    document.getElementById('text1').value=city+'|'+lan;

变量 lan 和 city 包含文本,例如“kalmar”。

我想要做的是获取这两个变量的内容并将它们组合起来,并将组合后的字符串设置为表单字段的值,以便能够使用表单的常规提交功能将其保存到数据库.

在 Chrome 和 FF 中它工作得很好,但在 IE 中却不行(惊讶)。 如果我执行 alert(document.getElementById('text1').value) 来查看它保存的值,IE 仅打印

[object]

关于发生了什么/我可以做些什么来使其兼容有任何线索吗?

这是一个很大的文档,但我在这里剪切并粘贴了要点:

用于接收最终组合值的 HTML 元素

<input type='hidden' name='text1' id='text1' value=''>

HTML 元素(链接)为上述 HTML 元素赋值:

<div id="searchResult"><a href="javascript:populateFields('Kalmar','Kalmar');">Kalmar i Kalmar</a><br></div>

function populateFields(lan,city)
{
    document.getElementById('lan').innerHTML=lan;
    document.getElementById('city').innerHTML=city;
    document.getElementById('text1').setAttribute('value',city+'|'+lan)
    document.getElementById('save_button').style.zIndex='auto';
alert('LAN: '+document.getElementById('lan').innerHTML);    
alert('CITY: '+document.getElementById('city').innerHTML);  
alert('TEXT1: '+document.getElementById('text1').value);    
}

此外 -alert() 检查现在打印正确的值(即 Kalmar|Kalmar),但表单仍然不保存我已将 text1 字段设置为的值!

最佳答案

在 IE 中,您可以使用 setAttribute('value',city+'|'+lan)

希望它能满足您的需求。

关于javascript - IE 处理 javascript 对象值的方式不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8750087/

相关文章:

html - X-UA-Compatible 在包含在条件注释中时不起作用?

c++ - 如何使用 VARIANT 指定颜色

javascript - 悬停时需要数组中项目的索引号

Javascript 从 Array.from() 方法返回多个范围

javascript 改变 onblur 值

javascript - 在 Apex 表格表单中选择一系列复选框(使用 jQuery)

javascript - 虽然循环崩溃,但递归函数抛出最大调用堆栈超出错误

javascript - 从 Internet Explorer 将 html 数据导出到 excel?

css - IE 边框图像和背景图像框问题

javascript - 处理IE浏览器的关闭按钮