2016-05-17 14 views
1

この関数の出力をajaxテーブル(正常に機能する)とconnectList1という入力ボックスに出力しようとするときに、いくつかの問題があります。2つの出力を持つ1つのajaxループエラーinnerHTML

私はまだAJAXを自分で学習、エラーが

Uncaught TypeError: Cannot set property 'innerHTML' of null

connectsList1 is not defined

function getConnections(txt1) { 

        func_getConnections(
       function (response) { 
        var sortorder = txt1; 
        var arr = response; 
        var i; 
        var Count; 
        var mCount; 
        var oCount; 
        var out = 
         "<thead>" 
        for (i = 0; i < arr.length; i++) { 
         out += 
         "<tr>" + 
         "<tbody>" + 
         "<tr class=\"" + ReturnValuesAsColor(arr[i].o, arr[i].m, arr[i].server_proc) + "\">" + 
         "<td>" + arr[i].id + "</td>" + 
         //"<td>" + arr[i].user_id + "</td>" + 
         "<td>" + arr[i].user_name + "</td>" + 
         "<td>" + arr[i].workstation_name + "</td>" + 
         "<td>" + (!!arr[i].ip_address ? arr[i].ip_address : '') + "</td>" + 
         "<td>" + formatDateTime(arr[i].connect_date, 'datelongtime') + "</td>" + 
         "<td>" + formatDateTime(arr[i].refresh_date, 'datelongtime') + "</td>" + 
         "<td>" + (!!arr[i].app_ver ? arr[i].app_ver : '') + "</td>" + 
         "<td>" + (!!arr[i].app_date ? formatDateTime(arr[i].app_date, 'shortdate') : '') + "</td>" + 
         "<td>" + Messages_flag(arr[i].get_messages_flag) + "</td>" + 
         "<td>" + FixNumbers(arr[i].message_type_flags) + "</td>" + 
         //"<td>" + arr[i].o + "</td>" + 
         //"<td>" + arr[i].m + "</td>" + 
         "<td>" + arr[i].group_name + "</td>" + 
         //"<td>" + arr[i].server_proc + "</td>" + 
         "<td> <button id=\"DelImg1\" type=\"button\" name=\"btnsubmit\" class=\"ui-button ui-widget ui-state-default ui-corner-all\" onclick=\"clearText('<%= result.ClientID%>'); CopyId(" + arr[i].id + "); return Message(" + arr[i].id + ")\" >Delete</button> </td>" + 
         "</tr>" + 
         "</tbody>"; 

         mCount = 0 
         if (arr[i].m != 0) { 
          mCount += 1; 
         } else if (arr[i].o != 0) { 
          oCount += +1; 
         } else if (arr[i].o == 0 & arr[i].m == 0) { 
          Count += 1; 
         } 

         document.getElementById("dtBody1").innerHTML = out; 

         document.getElementById('ConnectsList1').innerHTML = out; 

         ConnectsList1 = "  Connection list: " & Count + oCount + mCount & " connection(s)  Main Application : " & Count & "  Online : " & oCount & "  Mobile : " & mCount; 
        }})}; 

で、それはエラーなしで入力ボックスに吐き出すために任意のヘルプやアドバイスの歓迎を取得することはできません

+0

DOMに 'id =" dtBody1 "'という要素がありますか? 'id =" ConnectsList1 "'という要素がありますか?また、ループの繰り返しは、要素の 'innerHTML'プロパティを上書きして繰り返しても意味がありません。後続のループ反復は、前のループ反復が書き込んだものを上書きします。 –

+0

一般的に、このようなことに直面したときの最初の** **は、ブラウザに組み込まれた完全機能のデバッガを使用して、行ごとのコード、サンプル変数、さまざまなDOMの状態をステップ実行しますステージなど –

+0

yeh私はDOMの両方の要素があります。まだループをやっているが、それを見て、感謝します。 chromeでデバッガを使用していました。内部HTMLを上書きするのは、ストアドプロシージャを呼び出してライブ接続リストを更新するためです。私はデバッガをもう一度見てみましょう – BarryWhite

答えて

-1

document.getElementById("dtBody1") idがdtBody1のタグが見つかりませんでした。 HTMLにそのIDの要素が含まれていることを確認してください。 2番目のエラーを回避するには、ConnectsList1変数を宣言してください。

関連する問題