2012-11-22 19 views
6

Podczas korzystania z telefonu nie mogę wyświetlić tych dwóch przycisków, ponieważ są one zbyt oddalone od siebie. Chcę, aby tak było po wybraniu pliku, przycisk "wybierz plik" zostałby zastąpiony przyciskiem przesyłania. Czy to możliwe. Co musiałbym zrobić?Tworzenie przycisku wielofunkcyjnego w html

http://goawaymom.com/buttons.png

mój 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> 

-Note Nie dbam, aby umieścić je na oddzielnych liniach lub dokonać czcionki smaller- etc

+0

zapisu kodu JavaScript ... czy jest coś u próbowali –

+0

Moje umiejętności javascript aren” t dobrze powiedzieć, co najlepsze. Jeśli ktoś przynajmniej wskaże mi właściwy kierunek, spróbuję napisać kod. – thedullmistro

+0

Po kliknięciu wybierz plik, a jeśli plik zostanie przechwycony bez błędów, wybierz przycisk, który może stać się przyciskiem przesyłania wywołującym proces przesyłania. Po zakończeniu przesyłania przycisk kończy się, aby wybrać funkcję. Coś w stylu przełączania, prawda? – bonCodigo

Odpowiedz

9

najprostszy sposób:

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

Bez Jquery tylko 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 to jest odpowiedź, której szukałem, ale wygląda na to, że nie działa. Czego brakuje? – thedullmistro

+0

Co to jest błąd? –

+0

Po wybraniu pliku do przesłania przycisk "wybierz plik" nadal nie zmienia się w przycisk przesyłania. – thedullmistro

0

Tak, to naprawdę bardzo łatwe. Możesz wysłuchać zdarzenia onchange wejściowego pliku i ukryć je.

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. jeśli chcesz, możesz użyć tej samej sztuczki, aby wyświetlić przycisk "Prześlij" tylko wtedy, gdy zostanie wybrany plik. W takim przypadku kod przycisku będzie wynosił <input id="btn" type="button" value="Upload" style="display:none"/>, aw kodzie Javascript wpisujesz btn.style.display="", aby wyświetlić przycisk.

+0

Hm- że skrzypce nie wydają się robić tego, o co prosiłem?Nie zastępuje przycisku wyboru pliku przyciskiem przesyłania po wybraniu pliku. – thedullmistro

+0

Dodałem komentarze na końcu. Spróbuj tego skrzypce: http://jsfiddle.net/4Vk8Z/2/ – AlexStack

+0

Ale nie jest tak źle, aby uzyskać głosowanie. – Ramya

-1

Mogę powiedzieć, że jest na to wiele sposobów. Ale w podstawowej skryptu Java poniżej jest podejście

(1) Początkowo ustawić styl wyświetlania przycisku Prześlij do nikogo, aby ukryć, że

(2) Napisz onChange obsługi zdarzeń dla typu pliku wejściowego

(3) W tej funkcji obsługi, jeśli wartość nie jest pusta, ukryj plik wejściowy, stosując styl wyświetlania none, a następnie zmień styl przycisku wysyłania na pusty ("').

Nadzieja to podejście działa

Powiązane problemy