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
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




check_upload(i) - to powoduje natychmiastowe wykonanie funkcji check_upload a nie przypisanie jej jako callback
Jak koniecznie chcesz przekazywac to "i" to powinno byc tak:

document.getElementsByClassName("upload")[i].addEventListener("change", function() {
check_upload(i);
});

Choc i to nie jestem pewien czy to i pojdzie poprawnie. No i generalnie poczytaj o callbackach
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 - 23:07