I'm trying to build a dynamic table in javascript with innerHTML.
When the web app runs, it only prints the console.log, but doesn't build a table.
I tried two ways:
First:
success: function (data, status, jqXHR) {
$.each(data, function (index, dati) {
console.log(dati)
var html = "<table width=\'450\' bgcolor=\'white\' border=\'2\' bordercolor=\'black\' cellpadding=\'10\' cellspacing=\'1\'>\n" +
" <tr style=min-width:850px>\n" +
" <td>dati.codiceCOmmessa </td>\n" +
" <td>dati.commessaMainSub</td>\n" +
" <td>dati.settoreCliente</td>\n" +
" <td>dati.nomeCliente</td>\n" +
" <td>dati.titoloQuals</td>\n" +
" <td>dati.keyWordsTopic</td>\n" +
" <td>dati.keyWordsActivities</td>\n" +
" <td>dati.anno</td>\n" +
" <td>dati.dataInizio</td>\n" +
" <td>dati.dataFine</td>\n" +
" <td>dati.referente</td>\n" +
" <td>dati.referenteDoc</td>\n" +
" <td>dati.sviluppatore</td>\n" +
" <td>dati.path</td>\n" +
" </tr>\n" +
"</table>"
html.innerHTML;
})
},
Second:
(with body.innerHTML or node.innerHTML, the app makes a mistake) :
success: function (data, status, jqXHR) {
$.each(data, function (index, dati) {
console.log(dati)
innerHTML = "<table width=\'450\' bgcolor=\'white\' border=\'2\' bordercolor=\'black\' cellpadding=\'10\' cellspacing=\'1\'>\n" +
" <tr style=min-width:850px>\n" +
" <td>dati.codiceCOmmessa </td>\n" +
" <td>dati.commessaMainSub</td>\n" +
" <td>dati.settoreCliente</td>\n" +
" <td>dati.nomeCliente</td>\n" +
" <td>dati.titoloQuals</td>\n" +
" <td>dati.keyWordsTopic</td>\n" +
" <td>dati.keyWordsActivities</td>\n" +
" <td>dati.anno</td>\n" +
" <td>dati.dataInizio</td>\n" +
" <td>dati.dataFine</td>\n" +
" <td>dati.referente</td>\n" +
" <td>dati.referenteDoc</td>\n" +
" <td>dati.sviluppatore</td>\n" +
" <td>dati.path</td>\n" +
" </tr>\n" +
"</table>"
})
}
Can somebody help tell me what I'm doing wrong?
dati.keyWordsTopicare variables, try it like" <td>"+ dati.keyWordsTopic+"</td>\n" +.innerHTMLof an element to actually write this on the page.htmlis a string so what do you expect to happen in the linehtml.innerHTML;?