Guida javascript – input file personalizzati

Continuano i tutorial del mitico Giacomo, che oggi propone un semplice codice javascript che vi permetterà di personalizzare l’aspetto grafico dei vostri input file, anche se in questo caso specifico faremo fare il ruolo di input file a un comunissimo input di testo.

>> VISITA LA DEMO

Prima di tutto includiamo 2 file, uno per il javascript e uno per il lo stile css:

<script type="text/javascript" src="input_file.js"></script>
<link href="main.css" rel="stylesheet"  type="text/css" />

Successivamente creiamo un form di prova nella nostra pagina html:

<form method="post" action="upload.php" enctype="multipart/form-data">
<input type="file" name="file" id="original_file" />
<input type="text" value="" name="new_submit" id="new_file" readonly="readonly"/>
</form>

Ora andiamo a creare i due file inclusi precedentemente nel nostro documento html, chiamaremo main.css il foglio di stile, e input_file.js il “motore” javascript.

File: main.css

#new_file {
	width: 142px;
	height: 25px;
	border: 0;
	padding: 0px 5px 0px 30px;
	background: url(form.png);
}
/* nascondiamo l'input file */
#original_file {
	position: absolute;
	left: -9999px;
}

File: input_file.js

window.onload = function() {
	var new_file = document.getElementById('new_file');
	var original_file = document.getElementById('original_file');
	new_file.onclick = function() { //eseguiamo una funzione quando si clicca sull'input "new_file"
		original_file.click(); //eseguiamo l'evento click sull'input "original_file"
	}
	original_file.onchange = function() { //eseguiamo una funzione quando l'input "original_file" cambia
		new_file.value = original_file.value; //modifichiamo il value dell'input "new_file"
	}
}

In pratica questo tipo di input file è molto comodo per eseguire l’upload di file di vario tipo, potete vedere un esempio visitando la demo.Per comprendere meglio il funzionamento vi invitiamo a leggere i commenti al codice.

Enjoy 🙂

0 0 voti
Valutazione dell'articolo
Iscriviti
Notificami
guest

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

1 Commento
Vecchi
Più recenti Le più votate
Feedback in linea
Visualizza tutti i commenti
Riccardo Mel
Riccardo Mel
Amministratore
14 anni fa

Grazie dell’articolo Giacomo!

Rimani Aggiornato
Nuove idee, zero Spam
Ti invieremo solo le ultime novità di articoli o nostri progetti.
Iscrivendoti accetti la nostra privacy poliicy. Una volta iscritto, ricordati di attivare l'iscrizione cliccando sul link ricevuto via mail.
1
0
Esprimete la vostra opinione commentando.x