Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    funzione replace: come si applica?

    sto utilizzando javascript per personalizzare i campi gli <input type='file'> dato che attualmente risulta impossibile personalizzarli tramite css.

    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 
    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;
            }
        }

    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 )

    per eliminare questo testo pensavo di utilizzare la funzione replace("C:\fakepath\", "") ma non ho capito come...

    qualcuno riesce a darmi una mano?

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Il metodo replace si applica ad un oggetto di tipo stringa... cosi':

    nuovastringa = oggettostringa.replace("cercaquesto","sostituiscic onquesto")

    il tutto detto in modo assai semplicistico, ovviamente

    Per approfondire: http://www.devguru.com/technologies/...ript/10812.asp
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Originariamente inviato da br1
    Il metodo replace si applica ad un oggetto di tipo stringa... cosi':

    nuovastringa = oggettostringa.replace("cercaquesto","sostituiscic onquesto")

    il tutto detto in modo assai semplicistico, ovviamente

    Per approfondire: http://www.devguru.com/technologies/...ript/10812.asp
    grazie mille

    ho sostituito questa stringa

    Codice PHP:
    this.relatedElement.value this.value
    con questa

    Codice PHP:
    myString this.value;
    rExp = /c:\\fakepath\\/gi;    // cerco nel testo "c:\fakepath\"
    newString = new String (""// e lo sostituisco con ""
    results myString.replace(rExpnewString)

    this.relatedElement.value results
    e funziona perfettamente

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.