2012-11-22 12 views
6

Quando su un telefono non riesco a visualizzare questi due pulsanti perché sono troppo distanti. Voglio renderlo tale dopo aver scelto il file, il pulsante 'scegli file' sarà sostituito dal pulsante di caricamento. È possibile. Cosa dovrei fare?Creazione di pulsante multiuso in html

http://goawaymom.com/buttons.png

mio html -

<form method="post" action="" enctype="multipart/form-data" name="form1"> 
    <input name="file" type="file"class="box"/>   
    <input type="submit" id="mybut" value="Upload" name="Submit"/> 
</form> 

-Nota non mi importa di metterli su righe separate o fare carattere smaller- ecc

+0

scrivere codice javascript ... c'è qualche cosa la u provato –

+0

mie competenze javascript aren' buono a dirsi il migliore Se qualcuno almeno mi indica la giusta direzione, proverei a scrivere il codice. – thedullmistro

+0

Dopo aver fatto clic su scegli file, e se il file viene catturato senza errori, il pulsante di scelta può diventare il pulsante di caricamento che chiama il processo di caricamento. Al termine dell'upload, il pulsante torna a scegliere la funzione. Una specie di comportamento di commutazione non è vero? – bonCodigo

risposta

9

Modo più semplice:

<form method="post" action="" enctype="multipart/form-data" name="form1"> 
     <input name="file" type="file" onchange="if($(this).val().length){$(this).hide().next().show()}" class="box"/>   
     <input type="submit" id="mybut" value="Upload" style="display:none;" name="Submit"/> 
    </form>  

Senza Jquery, Solo JavaScript

<form method="post" action="" enctype="multipart/form-data" name="form1"> 
     <input name="file" type="file" onchange="this.nextElementSibling.style.display = 'block'; this.style.display = 'none';" class="box"/>   
     <input type="submit" id="mybut" value="Upload" style="display:none;" name="Submit"/> 
    </form> 
+0

Hm questa è più la risposta che stavo cercando ma non sembra funzionare. Cosa manca? – thedullmistro

+0

Che cos'è l'errore? –

+0

Dopo aver scelto un file da caricare, il pulsante "scegli il file" non cambia ancora in un pulsante di caricamento. – thedullmistro

0

Sì, è davvero facile. È possibile ascoltare l'evento onchange dell'input del file e nasconderlo.

HTML:

<input name="inpt" type="file"/> 
<input type="button" value="Upload"/> 

Javascript:

//this event is fired when the file is chosen (not when user presses the cancel button) 
inpt.onchange = function(e) { 
    //setting display to "none" hides an element 
    inpt.style.display="none"; 
}; 

JSfiddle

PS. se vuoi puoi usare lo stesso trucco per mostrare il pulsante "Carica" ​​solo quando viene selezionato un file. In questo caso il codice del pulsante sarà <input id="btn" type="button" value="Upload" style="display:none"/> e nel codice Javascript scriverai btn.style.display="" per mostrare il pulsante.

+0

Hm - quel violino non sembra fare ciò che avevo chiesto?Non sostituisce il pulsante Scegli file con il pulsante Carica dopo aver scelto il file. – thedullmistro

+0

Ho aggiunto alcuni commenti alla fine. Prova questo violino: http://jsfiddle.net/4Vk8Z/2/ – AlexStack

+0

Ma non è così male scendere il voto. – Ramya

-1

Posso dire che ci sono molti modi per farlo. Ma in java script nucleo di seguito è l'approccio

(1) Inizialmente impostare lo stile di visualizzazione del pulsante di caricamento a nessuno, al fine di nascondere che

(2) Scrivi onchange gestore di eventi per il tipo di file di input

(3) In quella funzione di gestore se il valore non è nullo, nascondere il file di input applicando lo stile di visualizzazione none e quindi modificare lo stile del pulsante di caricamento su vuoto ('').

Spero che questo approccio funziona

Problemi correlati