Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态div工作但不显示数据_Javascript_Sqlite_Dom - Fatal编程技术网

Javascript 动态div工作但不显示数据

Javascript 动态div工作但不显示数据,javascript,sqlite,dom,Javascript,Sqlite,Dom,谁能告诉我我做错了什么?在控制台日志的htmlStr=theName行之后,我得到了在表单中输入的名称,保存在数据库中,然后查询回来。然而,我没有得到结果显示在页面的最后。我已经测试了div append,它正在工作。 HTML Javascript function queryDB() { var sqlStr = "SELECT * FROM USERS ORDER BY id ASC"; console.log("SQL: " + sqlStr); db.

谁能告诉我我做错了什么?在控制台日志的htmlStr=theName行之后,我得到了在表单中输入的名称,保存在数据库中,然后查询回来。然而,我没有得到结果显示在页面的最后。我已经测试了div append,它正在工作。 HTML

Javascript

     function queryDB() {
    var sqlStr = "SELECT * FROM USERS ORDER BY id ASC";
    console.log("SQL: " + sqlStr);
    db.transaction(function(tx) {
      tx.executeSql(sqlStr, [], querySuccess, onQueryFailure);
    }, onSqlError, onSqlSuccess);
    console.log("Leaving queryDB");
  }

      function querySuccess(tx, results) {
  console.log('You are in querysuccess');
  console.log(results);
  if (results.rows.length == 0) {
    $("#showUsers").html("No data");
    return false;
  }
  var htmlStr="";
  var theID;
  var theName;
  var thePhoto;
  var len = results.rows.length;
  console.log(len);
    for(var i = 0; i < len; i++){
        theID = results.rows.item(i).id;
        console.log(theID);
        theName = results.rows.item(i).username;
            htmlStr += theName;
        console.log(theName);
        thePhoto = results.rows.item(i).imagepath;
        console.log(thePhoto);
        var userDiv = document.createElement("div");//Create the div
        userDiv.innerHTML=htmlStr;
        document.getElementById('showUsers').appendChild(userDiv);//append it to the document
        userDiv.style.display = 'block';            
    };
}

querySuccess是如何调用的?它是从queryDB函数调用的-从用户中选择*等等。您使用SQL语句调用JavaScript函数吗?这个过程是从什么开始的?显示调用代码。是buton点击、表单提交等吗?抱歉,在本例中,queryDB函数首先使用按钮调用所有用户,然后调用该函数。我已经修改了代码以显示这两种情况。您是否忘记使用正确的处理程序名称querySuccess重播onSqlSuccess?完成查询后,div元素是否正确创建?
     function queryDB() {
    var sqlStr = "SELECT * FROM USERS ORDER BY id ASC";
    console.log("SQL: " + sqlStr);
    db.transaction(function(tx) {
      tx.executeSql(sqlStr, [], querySuccess, onQueryFailure);
    }, onSqlError, onSqlSuccess);
    console.log("Leaving queryDB");
  }

      function querySuccess(tx, results) {
  console.log('You are in querysuccess');
  console.log(results);
  if (results.rows.length == 0) {
    $("#showUsers").html("No data");
    return false;
  }
  var htmlStr="";
  var theID;
  var theName;
  var thePhoto;
  var len = results.rows.length;
  console.log(len);
    for(var i = 0; i < len; i++){
        theID = results.rows.item(i).id;
        console.log(theID);
        theName = results.rows.item(i).username;
            htmlStr += theName;
        console.log(theName);
        thePhoto = results.rows.item(i).imagepath;
        console.log(thePhoto);
        var userDiv = document.createElement("div");//Create the div
        userDiv.innerHTML=htmlStr;
        document.getElementById('showUsers').appendChild(userDiv);//append it to the document
        userDiv.style.display = 'block';            
    };
}