首页 > 解决方案 > 使用 document.getelementbyid 从 javascript 在 html 文档中创建表

问题描述

document.getElementById我有一个 javascript 函数,它从数据库中提取数据,将其放入 html 表中,然后通过命令将该表放入 HTML 页面中。一切正常,除了当我加载 HTML 页面时,数据不在表中。我正在使用 innerHTML 属性将表格放在页面上。我的问题是,这是将表格填充到 HTML 页面的有效方式吗?我已经在下面发布了相关代码。

<div class="content mt-3">
            <div class="animated fadeIn">
                <div class="row">

                <div class="col-md-12">
                    <div class="card">
                        <div class="card-header">
                            <strong class="card-title">Data Table</strong>
                        </div>
                        <div class="card-body">
                  <table id="results-data-table" class="table table-striped table-bordered">

               <!-- I am trying to put the html here from javascript

                  </table>

                    </div>
                  </div>
                </div>


                </div>
            </div><!-- .animated -->
        </div><!-- .content -->



    <script src="../controllers/query.js">getData()</script>
    <script src="assets/js/vendor/jquery-2.1.4.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js"></script>
    <script src="assets/js/plugins.js"></script>
    <script src="assets/js/main.js"></script>

Javascript:

function getData() {

var sql = require("mssql");
var dbConfig={
        server:"server",
        database: "db",
        user:"user",
        password: "pw"
}




        var conn = new sql.Connection(dbConfig);
        var req = new sql.Request(conn);
        conn.connect(function (err){
                if (err) {
                console.log(err);
                return;
                }


                req.query("SELECT * FROM table",resultsCallback)

                conn.close();
        });

}

function resultsCallback (err, recordset) {

        var tableify = require('tableify');

        if (err) {
                console.log(err);
        }
        else {

                var html = tableify(recordset);
                html = html.replace('<table>','');
                html = html.replace('</table>','');
                document.getElementById("results-data-table").innerHTML=html;    
        }
};

标签: javascripthtmlsqldatabasetwitter-bootstrap

解决方案


我还不能对帖子发表评论,但我认为您在选择结束时有错字:

req.query("SELECT * FROM table,resultsCallback)

它应该是:

req.query("SELECT * FROM table",resultsCallback)

推荐阅读