Fajlok csatolasa Javaszkriptel
Van harom input mezom, ahova fajlokat rakhatok be. A lapon van egy gomb <input type="button" onclick="BeginAttach();"> amelyre ha raklikelek lefuttat egy Javaszkript kodot.
A lap egy child ablakban nyilik meg (hasznalom a parent es child modszert - self.opener).
Hogyan tudnam megcsinalni, hogy a kivalasztot fajlok nevet atkuldjem a parent ablakba es taroljam oket egy <input type="hidden"> mezoben.
Mondjuk ha harom fajlot kivalasztok es rakatintok a gombra kuldje el a nevuket a kov. keppen :
Tudna valaki segiteni ? Barmilyen tanacs jol jonne !
Koszonom !
■
<input type="file" name="userFile0" size="20">
<input type="file" name="userFile1" size="20">
<input type="file" name="userFile2" size="20">
A lap egy child ablakban nyilik meg (hasznalom a parent es child modszert - self.opener).
Hogyan tudnam megcsinalni, hogy a kivalasztot fajlok nevet atkuldjem a parent ablakba es taroljam oket egy <input type="hidden"> mezoben.
Mondjuk ha harom fajlot kivalasztok es rakatintok a gombra kuldje el a nevuket a kov. keppen :
<input type="hidden" name="attfiles" value="
file1.jpg;file2.jpg;file3.jpg">
Tudna valaki segiteni ? Barmilyen tanacs jol jonne !
Koszonom !
így nem fog menni
Ha csak a fájlok nevére vagy kíváncsi, akkor meg a szülő dokumentumban levadászod a megfelelő inputmezőt, majd a value attribútumához hozzáfűzöd az újonnan kiválasztott fájl nevét.
Ingovános megoldás
Ha megnyitasz javascriptel egy ablakot, és a formnak a target attribútummal megadod az ablak nevét, akkor elpostolhatod (a szkriptből) úgy, hogy a form maga sértetlen maradjon (később fel lehessen tölteni magukat a fájlokat is újra kiválasztás nélkül).
Esetleg ideiglenesen megváltoztathatod GET-re a formot, így az URL-ből a szkript is ki tudja szedni a neveket, nem kell szerveroldali támogatás neki.
Kossz!
Lenne meg egy kerdesem, JavaScriptel lehet feltolteni fajlokat a szervere ?
Vagy ezt a munkat mar PHP-n keresztul kell elvegezni ?
Javascript vs. PHP?
Javascript tud létrehozni akár egy egész formot menetközben. Javascript el tud küldeni egy formot a szevrernek (ahol a PHP lakik és feldolgozza a fájlokat).
A PHP tud generálni egy oldalt (egy formal). Ezután a PHP futása befejeződik. Nem tud hatást gyakorolni arra, hogy és mikor érkezik vissza a form (ezt vagy a user küldi vissza egy submit gombal, vagy JavaScript). Ha a formot visszaküldték ismét a PHP kerül futtatásra, és a feltöltött fájlt az átmeneti tárból átemelheti a weben látható könyvtárba.
Egy fájlfeltöltő input értékét csak a user tudja beállítani (sem generáláskor - PHP, sem futás közben - JavaScript nem módosítható) egyértelmű okokból.
Már az előző válasz végén is meg akartam jegyezni, hogy ugye nem azért tépem itt a számat, mert lusta voltál elolvasni az idevágó manuált. Pedig a size="20" -ból tudhattam volna...
ok
Sot, azt is szeretnem hasznalni.
Nezd itt a kodom:
Nem ertem, hogyan szurjam be a PHP-t ha nincs submit gombom.
Koszonom
Mi is a cél?
[semi-OFF] ez is lehetne a cél
Amit furcsálok az, hogy miért szeretnél csak fájlneveket feltölteni?
Lehet, hogy a webes alkalmazás csak egy frontend valami szolgáltatáshoz. Pl. nemrég volt egy projektünk, ahol fájlrendszer és CMS között kellet szinkronizálni (át akarnak állni majd a CMS-re, de most még nem lehet rávenni minden felhasználót, hogy oda publikáljon, egy részük még a régi hálózati könyvtárra rakja, de a tesztelőknek látni kell a CMS-ben), s mivel nem bíztunk abba, hogy a felhasználó be tudja gépelni rendesen a fájl elérési útját, ezért fájlválasztó inputot használtunk ennek a bekérésére. Adatbázisban szépen leraktuk, majd a szinkronizáló szolgáltatás frissítette a fájlokat CMS-ben.
És nem lehet furcsálni?
nem neked, hanem az utókornak írtam
Ebben teljesen igazad van. Jeleztem is a témasorban, hogy esetleg OFF, nem veled akartam kötözködni. Ha az lett volna a szándék, azt inkább magánban intézem :)
Egy példát akartam hozni, hogy lehet ilyen megoldás jogosan. Viszont ne itt folytassuk (ha akarod, akkor magánban), mert kimoderálnak a végén
Ok
Szoval van egy HTML urlap. Az urlapon van egy fajl mezo, amely mellet van egy browse gomb is. A Browse-ra katintva egy fajlot csatolhatok.
Az urlap igy nez ki:
A JavaScript fuggveny igy nez ki:
Na es most jon elo a problema. Megirom a kov PHP kodot:
Koszonom !
POST
ok