【问题标题】:change css style based on xmlhttp.responseText基于 xmlhttp.responseText 更改 css 样式
【发布时间】:2012-04-08 15:06:23
【问题描述】:

好的,这是我的问题。 我正在尝试使用 jQuery 根据 xmlhttpRequest 的 responseText 更改文本字段的 css 样式。如果公司名称已被采用,则 php 文件将回显“公司名称已采用”。我希望 comp_stat 框背景变成红色。如果公司名称是唯一的,php 文件将回显“公司名称确定”,我希望 comp_stat 框背景变为绿色。

这是 javascript - 所选文本是不起作用的部分。

xmlhttp.onreadystatechange = function(){
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
        document.getElementById("comp_stat").value = xmlhttp.responseText;

        /*Not working part*/
        if(xmlhttp.responseText == 'Company Name Already Taken.'){
            document.getElementById("comp_stat").style.backgroundColor = "red";
        }
        if(xmlhttp.responseText == 'Company Name OK!'){
            document.getElementById("comp_stat").style.backgroundColor = "green";
        }
        /*----------------*/
}

为此我已经摸不着头脑了好几个小时,这可能是一个简单的解决方法......任何帮助将不胜感激!

【问题讨论】:

  • 代码看起来应该可以工作,尽管它可以被重构一下以存储对文本字段的引用和变量中的响应文本。您确定返回的文本符合您的预期吗?没有前导空格或类似的东西?

标签: php javascript jquery xmlhttprequest


【解决方案1】:

您突出显示的部分似乎没有任何问题。

但是,可能是您的代码中的其他地方有错误。我建议您使用 Web 检查器或调试器进行调试。我真的很喜欢 Chrome 的开发者工具(它真的是 Apple 的),它真的很容易使用。如果有任何错误,它将显示错误,您还可以看到行号。

它会显示错误在哪里。很有用。

【讨论】:

  • 我只希望在其他方面(除了 JavaScript 调试)它和 Firebug 一样好。这对于新的 Firefox 检查器来说是双倍的。为什么他们坚持玩“不是在这里发明”的游戏没有任何好处,而更好的东西,有合理的许可条款,已经存在了!?
猜你喜欢
  • 1970-01-01
  • 2011-03-20
  • 1970-01-01
  • 1970-01-01
  • 2013-01-24
  • 1970-01-01
  • 2015-02-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多