JS无法正常工作

时间:2011-03-11 07:31:39

标签: javascript

以下JS无法正常运行:

document.getElementById("btn").value="harry";
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}
else {
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", url, false);
xmlhttp.send(null);
document.getElementById("btn").value="joy";

btn的默认值为joy。当我运行它时,btn的值不会改变。所有其他事情都很好。

我希望在ajax请求运行时将值更改为“harry”。

为什么价值不变?怎么解决?

HTML code:

<input id="btn" type="button" value="joy" onclick="change(id)" />

1 个答案:

答案 0 :(得分:5)

  

id的默认值是joy。当我运行它时,id的值不会改变。所有其他事情都很好。

代码的最终结果是将元素value的{​​{1}}属性设置为“joy”。你将它暂时更改为“harry”,但几乎立即将其改回“欢乐”。

如果您希望在同步ajax请求运行时将值更改为“harry”,则可能会感到失望。同步ajax请求完全锁定大多数浏览器的UI,防止在请求完成之前显示您所做的任何更改 - 当然,在您的情况下,当发生这种情况时,您将值更改回“joy”,所以。 ..

如果您想在请求运行时看到“harry”,请将其设为异步:

id

实例