Autor Zpráva
Fnesveda
Profil
Mám input type=file a potřebuju, aby když se mi změní obsah pole, aby se mi provedla nějaká akce. Jak to udělat?
H13
Profil
co třeba takto:

<form>
<input type="file" onchange="alert(this.value)" />
</form>

přičemž si musíš zvolit událost (onchange - při změně, onkeydown, onkeypress, onkeyup - při zmáčknutí, držení, puštění klávesy, atd...........) a akci (př. alert (this.value) vypíše hodnotu pole) ....
Fnesveda
Profil
Díky, nemohl jsem přijít na to onchange.
Fnesveda
Profil
A když potřebuju, aby se mi změnil src obrázku podle toho, co je zrovna v tom poli?
H13
Profil
tak to vyřešíš pomocí javascriptový funkce...nevím jak přesně, protože do JS nedělám, ale náčrt vypadá asi takto:

v poli budeš mít hodnotu např. "obrazek1.jpg" pak zvolíš nějakou událost, třeba onchange, která se odkáže na funkci a ta funkce předá název "obrazek1.jpg" do nějakýho html elementu

1. při události onchange se provede funkce změny obrazku

<input type="file" onchange="zmenaObrazku(this.value)" /> - odkaz na funkci zmenaObrazku()

2. v oblasti Javascriptu vyrobíš funkci:

function zmenaObrazku(value)
{
zde předáš název obrázku "obrazek1.jpg" do nějakýho html elementu, tedy do části html kódu, kde ten obrázek chceš mít. Např. budeš mít oblast v html <div id="oblastobrazku"> </div> a pomocí javascriptu sem vloží část kódu např. <img src="'+ value +'" />
value je proměnná, kterou předáš do funkce pomocí události (zde je to onchange), takže se do html nakonec vloží kód <img src="obrazek1.jpg" />

ta funkce může vypadat třeba takto:

elemDiv.id = 'oblastobrazku'; - přiřazení id v html
elemDiv.style.position = 'relative'; - různý nastavení divu, zde je to např. pozice, může to být pozadí, okraje..
elemDiv.innerHTML = '<img src="'+ value +'" /> - tento kus kódu se vloží do vnitř divu "oblastobrazku"
document.body.appendChild(elemDiv); - vložení do html
}

Jak říkám, do JS nedělám, takže to ber jako nějaký nakopnutí jak to udělat
Fnesveda
Profil
Díky moc
Fnesveda
Profil
Funguje to, ale místo zpětných lomítek v adrese je %5C. Co s tím?
DJ Miky
Profil
Fnesveda
Normální zakódování adresy... V PHP je na to fce urldecode().
Fnesveda
Profil
Ale jak to mam odstranit?
Toto téma je uzamčeno. Odpověď nelze zaslat.

0