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

    visualizzatore anteprime

    cari ragazzi..
    2 sono le soluzioni o butto dalla finestra il mio libro di javascript o lo brucio !!

    Seguo alla lettera le sue istruzioni..ma non ottengo il risultato voluto.

    In poche parole..ho dei form con campi di vario genere..in quasi tutti di questi vi è un campo FILE per prelevare un'immagine dal pc.

    Quando vado a prelevare l'immagine da caricare vorrei far visualizzare un'anteprima.

    Adesso fino a quando è solo un campo..ce la facevo tranquillamente..ma adesso..che i campi possono essere da 1 a X..il problema lo riscontro...tanto per cambiare..nel relativo ciclo..

    Io ho fatto in questo modo:

    I campi interessati li ho chiamati foto0, foto1, foto2 etc..

    quando vi sono X campi..logicamente se è presente solo un campo FILE l'ho chiamato file0.

    il ciclo lo avevo scritto in questo modo:
    codice:
    for (i=0;i<9;i++){
    with(document.forms[0].elements[i]){
    if(type=="file"){
    document.swap.src = document.forms[0].elements[i].value;
    return true;
    }
    }
    }
    come vedete avevo messo come valore massimo 9 perchè il massimo di immagini da caricare potevano essere 9...
    In questo modo..se si trova solo un campo FILE non mi visualizza l'anteprima...se vi sono + campi FILE..mi fa visualizzare il 1.mo campo..ma negli altri nn mi carica niente...anzi a dire la verità mi carica il valore dell'INDICE corrente.

    Poi avevo impostato in questo modo il codice:

    codice:
    for (i=0;i<document.forms[0].elements.lenght;i++){
    with(document.forms[0].elements[i]){
    if(type=="file"){
    document.swap.src = document.forms[0].elements[i].value;
    return true;
    }
    }
    }
    in questo modo (avevo pensato) di nn avere il problema dei numeri di campi FILE presenti nel form..in quanto li contava stesso lui..estrapolando quelli di tipo FILE...
    ma in questo caso nn mi visulizza nemmeno il primo campo FILE che carico..

    Dove caspita sbaglio ?????
    Hotel a Milano::Cerca il tuo alloggio a milano;
    IBeds::Cerca il tuo alloggio in italia con il cellulare;
    Hotel a Roma::Cerca il tuo alloggio a roma;
    Hotel a Venezia::Cerca il tuo alloggio a venezia;

  2. #2
    ciao..grazie per il tuo aiuto..
    ho provato il tuo codice..

    Il fatto è che il risultato che ottengo è lo stesso..

    Cioè, che se nel form ho solo un campo FILE, l'anteprima viene visualizzata correttamente ..invece se i campi FILE sono di +, visualizzo solo la prima anteprima correttamente le altre non mi visualizza l'immagine o meglio mi carica un'immagine che nn esiste...andando a vedere il valore di questa...(proprietà) mi viene dato il numero dell'indice relativo a quel dato campo FILE.


    Non sò se mi sono spiegato a dovere !??!
    Hotel a Milano::Cerca il tuo alloggio a milano;
    IBeds::Cerca il tuo alloggio in italia con il cellulare;
    Hotel a Roma::Cerca il tuo alloggio a roma;
    Hotel a Venezia::Cerca il tuo alloggio a venezia;

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Scusa se ho cancellato la mia risposta... ma non l'avevo testata

    Ovviamente ne visualizzi una sola... dato che hai un solo oggetto di tipo immagine che possa ospitarla:

    document.getElementById("swap")

    ne dovresti prevedere tanti quanti sono i possibili file ed adottare una sintassi simile:

    document.getElementById("swap"+i)

    identificandoli in modo simile ai controlli del form.

    Inoltre elimina il

    return true;

    ciao
    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

  4. #4
    grazie per il tuo aiuto..

    alla fine ho risolto in questo modo:

    codice:
    function preview(foto){
    var foto = foto;
    var el = document.forms[0].elements;
    for (var i=0; i<el.length; i++){
    if (foto!="0"){
    document.getElementById("swap").src = foto;
    }
    else if (foto==""){
    document.getElementById("swap").src = "img/spazio.gif";
    }
    else if (foto=="0"){
    if(el[i].type=="file" && el[i].value!=""){
    document.getElementById("swap").src = el[i].value;
    }
    }
    }
    }
    dopodichè, visto che avevo notato che se iniziavo a caricare le foto dai campi FILE + alti [es: su 8 campi numerati da 0,1,2,3,4...utilizzavo prima il campo n.6 e procedendo a ritroso] non riuscivo a visualizzare le immagini che andavo a caricare man mano..

    Ho aggiunto l'evento OnMouseover per ciascun campo file, richiamando questa'altra mini funzione:

    codice:
    onMouseover="preview2(document.forms[0].foto0.value);" 
    
    
    function preview2(foto){
    var foto = foto;
    if (foto!=""){
    document.getElementById("swap").src = foto;
    }
    }
    e funziona regolarmente tutto..

    Sicuramente avrò fatto un procedimento complicato...magari qualche esperto l'avrebbe risolto in un maniera + "stringata"..
    Hotel a Milano::Cerca il tuo alloggio a milano;
    IBeds::Cerca il tuo alloggio in italia con il cellulare;
    Hotel a Roma::Cerca il tuo alloggio a roma;
    Hotel a Venezia::Cerca il tuo alloggio a venezia;

  5. #5
    uhm...con IE funziona tutto regolarmente...
    ho provato con FIREFOX...non mi fà visualizzare niente..???

    Hotel a Milano::Cerca il tuo alloggio a milano;
    IBeds::Cerca il tuo alloggio in italia con il cellulare;
    Hotel a Roma::Cerca il tuo alloggio a roma;
    Hotel a Venezia::Cerca il tuo alloggio a venezia;

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da deejayp
    ho provato con FIREFOX...non mi fà visualizzare niente..???
    il percorso che firefox legge non puo' utilizzarlo direttamente come percorso del file locale,
    devi trasformare il percorso con le regexp,
    come spiegato qui
    http://forum.html.it/forum/showthrea...hreadid=915335

  7. #7
    grazie per il tuo aiuto..
    ho letto il topic che mi hai segnalato..ma ho letto dall'utente che non funziona la regexp. ?!
    Hotel a Milano::Cerca il tuo alloggio a milano;
    IBeds::Cerca il tuo alloggio in italia con il cellulare;
    Hotel a Roma::Cerca il tuo alloggio a roma;
    Hotel a Venezia::Cerca il tuo alloggio a venezia;

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    e qui invece qualcuno dice che funziona,
    l' unica e' provare

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.