Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wartość input[type="file"] nie działa poprawnie?
deha21
post
Post #1





Grupa: Zarejestrowani
Postów: 544
Pomógł: 5
Dołączył: 18.08.2009

Ostrzeżenie: (0%)
-----


Mam problem ze zdarzeniem i odczytywaniem danych z input[type="file"]. Chcę zrobić tak że po wybraniu pliku, div .upload-button zmienia kolor. Mam taki kod:
Kod
var count = document.getElementsByClassName("upload").length;
var i=0;

for (i; i<count; i++) {
    document.getElementsByClassName("upload")[i].addEventListener("change", check_upload(i));
}

function check_upload(i) {
    if (document.getElementsByClassName("upload")[i].value!='') {
        document.getElementsByClassName("upload-button")[i].style.background="green";
        console.log("You have selected file to upload");
    } else {
        document.getElementsByClassName("upload-button")[i].style.background="red";
        console.log("No file choosen");
    }
}

Kod
<div class="upload-button"></div>
<input type="file" name="file" class="upload">
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Comandeer
post
Post #2





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

Ostrzeżenie: (0%)
-----


@viking istnieje złota zasada, żeby nie tykać prototypów obiektów hosta – zwłaszcza, że jak sam zauważyłeś, musiałbyś zmienić kilka klas kolekcji. A przecież wystarczy
Kod
[].forEach.call( nodeList, function( elem ) { /*itd*/ } );


Co do problemu: a czemu nie po prostu przypiąć jeden handler dla całego kontenera i sprawdzać, które pole zostało zmienione przez event.target? https://jsfiddle.net/Comandeer/vuveay15/
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 15:55