1

我正在使用 HTML5、CSS 和Javascript构建个人助理

这就是我当前的问题。

我有一个<div>包含脚本,其中包含询问问题时的响应以及问题是否匹配它写入该响应的脚本。

我需要一个脚本来检查这个 div 是否为空,在Javascript中,而不是jQuery

我需要检查 div 是否为空,因为这意味着没有响应。

然后让它重定向到错误页面。

一个问题和对它的响应如下所示:

    <script type="text/javascript">
{
var q = getValue("q");
var name = getValue("name");
}
if (q == 'Whats+up') {
document.write("Not much " + name + ".");
}
else {

}
</script>

这是我尝试的最后一个代码:

            <script>

    var theDiv = document.getElementById("responce");
    var q = getValue("q");
    if(theDiv.innerHTML == ''){
    window.location = 'error.html?name=Brandon&q='+q;
    }
  </script>
4

2 回答 2

1

尝试这个

<script type="text/javascript">
{
var q = getValue("q");
var name = getValue("name");
}
if (q == 'Whats+up') {
document.write("<div id='response_text'>"+"Not much " + name + "."+"</div>");
}
else {

}
</script>

接着:

<script>

var theDiv = document.getElementById("response_text");
var q = getValue("q");
if(theDiv==null || theDiv.innerHTML == ''){
window.location = 'error.html?name=Brandon&q='+q;
}
</script>

话虽如此,使用 ajax 可能有更好/更具可扩展性的方法。

于 2012-10-12T17:35:39.837 回答
1

script您可以检查,如果在s 中没有其他元素div

<script>
    var theDiv = document.getElementById('responce'),
        q = getValue('q'),
        scripts = theDiv.getElementsByTagName('SCRIPT').length;
    if (theDiv.children.length - scripts === 0) {
        window.location = 'error.html?name=Brandon&q=' + q;
    }
</script>

但是,我建议您摆脱所有内联脚本,并将它们放在文档中或结束标记head之前。body

编辑

快速解决方法是script#responce.

于 2012-10-12T18:41:18.340 回答