从SQL查询表结果为Textarea创建DOM

问题描述

|| 我得到了创建表的DOM对象,我想要一个新函数/ DOM,该函数从表结果中创建一个具有列名AsText(Geometry)的Textarea(即fieldName [i] = \“ AsText(Geometry))。这是SQLite3查询。 这是创建表html的DOM
function displayWKTqueryVCF(bcoResults,parameters){
    //debug(\'displaying scores\');
    /*
     * the data array has multiple results from multiple BCF calls.
     * the first one has the data needed here.
     */
    var aResult = bcoResults[0];
    if(aResult.errorMessage != \'not an error\'){
        handleError(\'queryError\',[aResult.errorMessage]);
        return;
    }
    var fieldNames = aResult.fieldNames;
    var records = aResult.data;
    var numFields = fieldNames.length;
    var numRecords = records.length;
    var container = document.getElementById(\'queryResults\');
    container.innerHTML = \'\';
    var table = document.createElement(\'table\');
    container.appendChild(table);


    var headerRow = document.createElement(\'tr\');
    table.appendChild(headerRow);
    for(var i = 0; i < numFields; i++){
        var header = document.createElement(\'th\');
        header.innerText = fieldNames[i];
        headerRow.appendChild(header);
    }

    for(var i = 0; i < numRecords; i++){
        var tableRow =  document.createElement(\'tr\');
        table.appendChild(tableRow);


        for(var j = 0; j < numFields; j++){
            var tableData = document.createElement(\'td\');           

            tableRow.appendChild(tableData);
            tableData.innerText = records[i][j];
        }
    }

}
输出:
<table>
    <tr>
         <th>name</th>
         <th>city</th>
         <th>AsText(Geometry))</th>
    </tr>
    <tr>
         <td>Andres Street</td>
         <td>Nowhere City</td>
         <td>LINESTRING(7.120068 43.583917,7.120154 43.583652,7.120385 
          43.582716,7.12039 43.582568,7.120712 43.581511,7.120873 43.580718)</td>
    </tr>
</table>
我想要一个新功能,即Textarea,而不是表格。问题之一是如何将2D数据存储到textrarea中(即records [i] [j];)。附加? ~~~~~~~~~~~~~~
function displayAsTextGeometryVCF(bcoResults,parameters){

   var aResult = bcoResults[0];
   if(aResult.errorMessage != \'not an error\'){
       handleError(\'queryError\',[aResult.errorMessage]);
       return;
   }
   var fieldNames = aResult.fieldNames;
   var records = aResult.data;
   var numFields = fieldNames.length;
   var numRecords = records.length;
   // var container = document.getElementById(\'queryAsTextGeometry\');

   var oTextarea = document.getElementById(\'wktResult\');
   oTextarea.innerHTML = \'\';

   var g = 0;

   for(var i = 0; i < numFields; i++){

       if fieldNames[i] = \"AsText(Geometry)\" then
        var g = i;
   }

   for(var g ){

       for(var j = 0; j < numFields; j++){

            document.getElementById(\'wktResults\').value = records[g][j];
           //tableData.innerText = records[g][j];
       }
   }

}
所需的期望输出:
<textarea>LINESTRING(7.120068 43.583917,7.120385 
      43.582716,7.120873 43.580718)</textrea>
这个addtext如何与上面的代码结合。
function addtxt(input) {
var obj=document.getElementById(input)
var txt=document.createTextNode(\"blah blah\")
obj.appendChild(txt)
文本区域和按钮:
    <a href=\"#wktInput\"  data-inline=\"true\" data-role=\"button\">WKT Result</a>

      <textarea cols=\"160\" rows=\"10\" style=\"color: green; background-color: black\" name=\"wktResult\" >WKT Results</textarea>
    

解决方法

        很难说出这是哪一部分有问题。我以为您无法正常使用
displayAsTextGeometryVCF()
函数。这是重写的版本。请尝试:
function displayAsTextGeometryVCF(bcoResults) {
    var aResult = bcoResults[0];
    if (aResult.errorMessage != \'not an error\') {
        handleError(\'queryError\',[aResult.errorMessage]);
        return;
    }

    var fieldNames = aResult.fieldNames,records = aResult.data,container = document.getElementById(\'queryResults\');
    container.innerHTML = \'\';

    var theField = 0;
    for (var i = 0,ii = fieldNames.length; i < ii; i++) {
        if (fieldNames[i] == \'AsText(Geometry)\') {
            theField = i;
            break;
        }
    }

    for (var i = 0,ii = records.length; i < ii; i++) {
        var t = document.createElement(\'textarea\');
        t.innerText = records[i][theField];
        container.appendChild(t);
    }

}
对于此数据:
displayAsTextGeometryVCF([{
    errorMessage: \'not an error\',fieldNames: [\'dummy\',\'AsText(Geometry)\'],data: [
        [\'one\',\'yes\'],[\'no\',\'yes\']
    ]
}]);
输出为:
<div id=\"queryResults\"><textarea>yes</textarea><textarea>yes</textarea></div>
那是你想要的吗?     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...