1

HTML5、CSS、およびJavascriptを使用してパーソナル アシスタントを作成しています

これが私の現在の問題です。

質問が尋ね<div>られたときの応答を含むスクリプトを含む があり、質問が一致する場合はその応答を書き込みます。

jQueryではなくJavascriptで、この div が空かどうかを確認するスクリプトが必要です

応答がないことを意味するため、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に 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 に答える
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 に答える