anteprima immagine <input type="file">

loreberti10

Utente Attivo
22 Set 2012
43
0
0
Ciao a tutti, ho guardato un po nel forum ma non ho trovato la risposta al problema che ho e soprattutto, se c'è una risposta...:/
Comunque, io ho creato in php un form per un inserimento di immagini tramite l'input file:
Codice:
$i=0;
	for($i; $i<10; $i++){
		echo "<input type='file' name='foto$i' class='caricaimm'/>
                        <img src='' class='img'/>
                        <input type='radio' name='principale' value='$i'/>";
	}
Ora tralasciate il secondo input che non c'entra, io in pratica quello che vorrei fare, se è possibile, sarebbe questo:
Un utente clicca sull'input file e gli si apre la finestrella dello "sfoglia" sceglie l'immagine..Appena scelta l'immagine, è possibile creare una anteprima in jquery?
Mi era venuto in mente di poter prendere il percorso dell'immagine per creare una anteprima e inserielo nel tag sotto <img src=''..>...però non ho capito come fare, c'è una soluzione?
Grazie in anticipo a tutti.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao,
dai un occhiata a questo codice
al tempo l'avevo testato e funziona ma non sono stato in grado di rispondere all'utente (al massimo puoi farlo tu)
 

loreberti10

Utente Attivo
22 Set 2012
43
0
0
Grazie, ho risolto in questa maniera: (lo posto cosi che serva a qualcun altro):
codice php/html
Codice:
<? 
	$i=0;
	for($i; $i<10; $i++){
		?><input type='file' name='foto<?php echo $i; ?>' class='caricaimm' OnChange='show(this, <?php echo $i;?> )'/>
   <img src='' width='200' height='150' class='foto<?echo $i;?>' id="<?echo $i;?>"/><?
	}
 ?>
Funzione jquery show():
Codice:
function show(ele, i){
			
			$('img#'+i).attr('src', ele.value);// for IE
            if (ele.files && ele.files[0]) {
			
                var reader = new FileReader();
				
                reader.onload = function (e) {
                    $('img#'+i).attr('src', e.target.result);
                
				}

                reader.readAsDataURL(ele.files[0]);
            }
	}
Per quanto riguarda quello che mi hai indicato ho letto, ma io non ho capito cosa vorrebbe fare.. :eek: