
Originariamente inviata da
SoloWiFi
Lo devi risolvere in JavaScript.
Ci sono riuscito !
codice:
$(document).ready(function () {
let badgeTable = null; // Variabile per mantenere il riferimento alla tabella dei badge
// Inizializzazione della tabella dei dipendenti
let table = $('#example').DataTable({
select: true,
select: {
info: false
},
lengthMenu: [5, 10],
"ajax": {
"url": "../php/dipendente.php",
"dataSrc": "data"
},
"order": [[1, 'asc']],
"language": {
"url": "../json/italiano.json"
},
"columns": [
{ "data": "iddip" },
{ "data": "matr" },
{ "data": "cognome" },
{ "data": "nome" },
{ "data": "nascita" },
{ "data": "matrcomune" },
{ "data": "assunzione" },
{ "data": "iniznomin" },
{ "data": "foto" },
{ "data": "stato" },
{ "data": "tot_badge" }
],
"columnDefs": [
{
"targets": [0], // Indice della colonna da nascondere (0 per la prima colonna)
"visible": false, // Imposta la visibilità della colonna su falso
"searchable": false // Impedisce la ricerca sulla colonna
},
{
"targets": 8, // Indice della colonna con il percorso dell'immagine
"render": function(data, type, row, meta) {
return '<img src="' + data + '" alt="Immagine dipendente" style="width:60px;height:60px;">';
}
}
]
});
// Controllo di tutte le immagini nella tabella dei dipendenti al caricamento della pagina
$('#example').on('draw.dt', function () {
$('#example').find('img').each(function() {
checkImageExists(this);
});
});
// Funzione per controllare se un'immagine esiste
function checkImageExists(imgElement) {
let img = new Image();
img.src = imgElement.src;
img.onload = function() {
if (img.naturalWidth === 0 || img.naturalHeight === 0) {
// Se le dimensioni naturali dell'immagine sono 0, carica l'immagine di default
imgElement.src = "../img/dip/NoPhoto.png";
}
};
img.onerror = function() {
// Se si verifica un errore durante il caricamento dell'immagine, carica l'immagine di default
imgElement.src = "../img/dip/NoPhoto.png";
};
}
Immagine 2024-04-04 234044.jpg
sbagliavo anche a posizionare il blocco di codice, dovevo farlo dopo l'inizializzazione della tabella dipendenti.
Grazie !