sto utilizzando javascript per personalizzare i campi gli <input type='file'> dato che attualmente risulta impossibile personalizzarli tramite css.
il problema che ho riscontrato è che in tutti i browser (firefox escluso), quando nel finto campo "input" viene mostrato il nome del file selezionato, appare questo percorso "C:\fakepath\" prima del nome (esempio: C:\fakepath\file.txt anzichè file.txt )Codice PHP:
var W3CDOM = (document.createElement && document.getElementsByTagName);
window.onload=initFileUploads;
function initFileUploads() {
if (!W3CDOM) return;
var fakeFileUpload = document.createElement('div');
fakeFileUpload.className = 'fakefile';
fakeFileUpload.appendChild(document.createElement('input'));
var image = document.createElement('img');
image.src='style/img.gif';
fakeFileUpload.appendChild(image);
var x = document.getElementsByTagName('input');
for (var i=0;i<x.length;i++) {
if (x[i].type != 'file') continue;
if (x[i].parentNode.className != 'fileinputs') continue;
x[i].className = 'file hidden';
var clone = fakeFileUpload.cloneNode(true);
x[i].parentNode.appendChild(clone);
x[i].relatedElement = clone.getElementsByTagName('input')[0];
x[i].onchange = x[i].onmouseout = function () {
this.relatedElement.value = this.value;
}
}
}
per eliminare questo testo pensavo di utilizzare la funzione replace("C:\fakepath\", "") ma non ho capito come...
qualcuno riesce a darmi una mano?