Этот код работает только для первой ячейки первого столбца. Когда я щелкаю ячейку, появляется предупреждение о внутреннем тексте ячейки. Я хотел бы, чтобы оповещение было запущено в каждой ячейке первого столбца и отображало текст ячейки, по которой щелкнули. Как это сделать? Я новичок в javascript, извините и спасибо за совет за ваше время.
const http = require('http');
const mysql = require('mysql');
const pool = mysql.createPool({
host: '127.0.0.1',
user: 'andrea',
password: '*********',
database: 'andrea',
charset: 'utf8'
});
//html string that will be send to browser
var reo ='<html><head><title>Table From SQL</title></head><body><h1>Table From SQL</h1>{${table}}</body></html>';
//sets and returns html table with results from sql select
//Receives sql query and callback function to return the table
function setResHtml(sql, cb){
pool.getConnection((err, con)=>{
if(err) throw err;
con.query(sql, (err, res, cols)=>{
if(err) throw err;
var table =''; //to store html table
//create html table with data from res.
for(var i=0; i<res.length; i++){
table +='<tr><td id="peso" style="cursor:pointer">'+ res[i].peso +'</td><td>'+ res[i].vita +'</td><td>'+ res[i].data +'</td></tr>';
}
table ='<table border="1" id="table1"><tr><th>Peso</th><th>Vita</th><th>Data</th></tr>'+
table +'</table>';
table = table += '<script>var peso = window.document.getElementById("peso");'+
'peso.addEventListener("click", functionOnClick, false);'+
'function functionOnClick(){alert(peso.innerText);}</script>'
con.release(); //Done with mysql connection
//const dom = new JSDOM(`<!DOCTYPE html><p>Hello world</p>`);
return cb(table);
});
});
}
let sql ='SELECT * FROM registropeso';
//create the server for browser access
const server = http.createServer((req, res)=>{
setResHtml(sql, resql=>{
reo = reo.replace('{${table}}', resql);
res.writeHead(200, {'Content-Type':'text/html; charset=utf-8'});
res.write(reo, 'utf-8');
res.end();
});
}).listen(8080);
/*
server.listen(8080, ()=>{
console.log('Server running at //localhost:8080/');
});
*/