ugrás a tartalomhoz

JavaScrip innerHTML onClick

DarkHcK · 2007. Júl. 17. (K), 21.56
Üdv mindenki!
Akadt némi gondom az innerHTML-el.
A lényeg lényege hogy van egy jsp file azon nekem kikell rakni kis
képeket(95X65).
Ez elérési utvonaluk adatbázisban van letárolva. Ezt jsp-ben belül
egy <c:forEach>-el oldottam meg.
Kirakja a kisképeket de vele együtt be kellene állítanom az onClick
eseményre azt hogy ha rányom az illető egy kisképre akkor azt kirakja
neki nagyban!

Van valakinek vmi ötlete? Vagy van erre valami bevett szokás?
 
1

pontosabban

Joó Ádám · 2007. Júl. 18. (Sze), 00.25
Mit jelent az, hogy "kirakja"? Mit próbáltál eddig csinálni? Adj meg több infót!
2

nem biztos, hogy értem...

zila · 2007. Júl. 18. (Sze), 08.40
Nem értem mi köze az innerHTML-nek az onClick-hez?

Valami ilyet szeretnél html-ben előállítani:

<a href="nagykepek/001.jpg"><img src="kiskepek/001.jpg"></a>
esetleg
<a href="javascript:;" onClick="showPicture('nagykepek/001.jpg');"><img src="kiskepek/001.jpg"></a>
Ebben mi jelent problémát? Az a-tag? Esetleg egy pici kódrészlet is segítene, hogy most hogyan jeleníted meg a képeket/milyen kódot állít elő a jsp-d...
3

Jelenlegi kód.

DarkHcK · 2007. Júl. 18. (Sze), 11.48
<c:forEach items="${pictures}" var="picture">
<script type="text/javascript">
var obj = document.getElementById("smallPic");
var obj2 = document.getElementById("biggerPicture");
{
obj.innerHTML += '<img src="${picture.filePath}" alt="" width="95" height="65" onclick=" obj2.innerHTML += <img src='${picture.filePath}' width="400" height="300"> " >'
}

</script>
</c:forEach>

Valami iesmit szeretnék összehozni
4

Így már értem

zila · 2007. Júl. 18. (Sze), 12.52
Hiányoznak zárójelek az onClick-ben, másrészt nem egészen értem miért egy javascriptet generálsz, ami betöltögeti a képeket egy - gondolom - div-be...

Én valahogy így csinálnám:

<script type="text/javascript">
function showPic(image_path) {
     var obj2 = document.getElementById("biggerPicture"); 
    obj2.innerHTML += '<img src="'+image_path+'" width="400" height="300">'
}
</script>

<div id="smallPic">
<c:forEach items="${pictures}" var="picture">
     <a href="javascript:;" onClick="showPic('${picture.filePath}'">
    <img src="${picture.filePath}" alt="" width="95" height="65">
     </a>
</c:forEach>
</div>
5

Királyság

DarkHcK · 2007. Júl. 23. (H), 10.09
Ezer köszönet!!! Minden király és müxik a dolog bár a müködési elvét még átkell nézzem! Nagyon szépen köszi mégeccer!!!
6

Még egy kérdés.

DarkHcK · 2007. Júl. 23. (H), 16.40
Amikor berakja a cellába a képet akkor lenne még egy kis apróság!
Egy szöveges mezőbe beszeretném állítani a kép nevét amit az adatbázisból kapok ismét. ${picture.fileName}
Van valakinek vmi ötlete?
7

Mikor kell kiírni?

zila · 2007. Júl. 23. (H), 17.08
Ha a nagy kép megjelenésekor: a showPic függvénynek add át paraméterként a file nevét és abban a képhez hasonló módszerrel írd ki ezt a paramétert....

Javaslok egy gyorstalpaló html, javascript önképzést :)
8

Valóban :)

DarkHcK · 2007. Júl. 23. (H), 17.19
Hát valóban jól jönne. Kegyetlenül sokat felejtettem :(
A kép nevét sikerült átadni, de a többit nem. kép méretét és megjegyzéseket.
Ennyi a válasza a gépnek:
javax.servlet.ServletException: Unable to find a value for "picComment" in object of class "entities.Picture" using operator "."

Vélemény? :)
9

Kód?

zila · 2007. Júl. 23. (H), 17.22
Kódrészlet? :) Lehetőleg [ colorer=Java][ /colorer] blokkban (space nem kell a bracket után)
10

Megvan a megoldás

DarkHcK · 2007. Júl. 23. (H), 18.10
Bocsika...meglett a megoldás
Az entitás file-ban private változókat használtam és nem tudott értéket visszaadni!
Irtam rá 2 publikus metodust és már megy is :) Nagyon szépen köszi a segítséget! :)
11

Script gond

DarkHcK · 2007. Júl. 25. (Sze), 16.45
Ismét egy kisebb-nagyobb problémával állok szembe!
Jelen állapot: Egy táblázatba bele kell raknom a felhasználókat majd ha a nevére kattintok akkor elő kellene jöjjön a módosító rész most igy néz ki:

<c:forEach items="${persons}" var="person">
            <tr>
                <td><a href="javascript:;" onclick="modPerson('${person.regPass}','${person.regMail}','${person.realName}','${person.PAddress}','${person.PScName}','${person.PScAddress}')">${person.regName}</a></td>
                <td>${person.regPass}</td>
                <td>${person.regMail}</td>
                <td>${person.realName}</td>
                <td>${person.PAddress}</td>
                <td>${person.PScName}</td>
                <td>${person.PScAddress}</td>
                <td></td>
            </tr>
            </c:forEach>
És hozzá a javascript

function modPerson(pers_nick,pers_pass,p_mail,pers_fullName,pers_address,psc_name,psc_address){
  
    document.getElementById("regModNick").value = pers_nick;
    document.getElementById("regModPass").value = pers_pass;
    document.getElementById("regModEmail").value = pers_mail;
    document.getElementById("regModTName").value = pers_fullName;
    document.getElementById("regModAdress").value = pers_address;
    document.getElementById("regModSName").value = psc_name;
    document.getElementById("regModSAdress").value = psc_address;
    document.location.href='/Photo/admin/modify.jsp';
}  
Ennek a hatása: document.getElementById("regModNick").value = pers_nick;
Van ötleted Zila hogy mi lehet a gond? :)
12

ööö - mondta értetelen arccal

zila · 2007. Júl. 25. (Sze), 17.02
Izé - tette hozzá Zila.
Nem értem a problémát. Mit jelent az alábbi mondat?
Ennek a hatása: document.getElementById("regModNick").value = pers_nick;

Azt szeretnéd, hogy a táblázat mellett lévő formban módosíthatod a kívánt emberke adatait ugye?

A fenti megoldásod több sebből vérzik. Meghívod a modPerson js függvényt, egy formba belenyomod a paraméterül kapott adatokat, majd egy laza mozdulattal az egész oldalt elhagyod és átmész a /Photo/admin/modify.jsp oldalra...

Ez jó is lenne (mármint, hogy a formot kitöltöd), de az a location.href nagyon nem jó. Én még azért a person id-ját és átadnám ennek a js-nek és beleírnám a form egy rejtett mezejébe, hogy tudja majd szerencsétlen modify.jsp, hogy kit is kellene módosítani... A módosított adatokat a form küldje el a szervernek és a form actionje legyen a /Photo/admin/modify.jsp.
13

Pontosítanék

DarkHcK · 2007. Júl. 25. (Sze), 17.16
Bocsika de hülén irtam le.
Amikbe beleakarom rakni az értékeket az a modify.jsp oldalon vannak. Ezért lépek át másik oldalra.
Csak az a baj hogy az admin.jsp oldalon kell a név-re az onClick esemény.
14

get

zila · 2007. Júl. 25. (Sze), 17.29
Ezesetben (feltételezve, hogy a modify.jsp az admin.jsp oldal helyére töltődik be) nem kell semmi javascript trükközés: (hevenyészve, bocs nem látom magam előtt az eredeti kódodat...)

<td><a href="modify.jsp?personId=person.id">personneve</a></td>
És a modify.jsp meg olvassa be az eredeti adatokat id alapján (feltételezem van id-je a person-nak), irasd ki a formot a beolvasott adatokkal majd, submitra tárold el db-ben...
15

ID!?

DarkHcK · 2007. Júl. 25. (Sze), 18.15
Természetesen van ID-ja a personnak csak azt nem tudom hogy az igy kapott id-re hogyan tudok hivatkozni!
Pls :)

...Sikerült megoldani! :) Köszi