JavaScript mit ajax dynamisch nachladen

WhiteShark

Admiral
Registriert
Mai 2002
Beiträge
9.949
nabend,

ich arbeite gerad an der verbesserung meiner onlinegalerie.
die ganzen bilder sind sortiert in verschiedene ordner.
mein ziel im grunde ist eine tabelle, auf der linken seite sind die ganzen ordner aufgelistet und auf der rechten sollen dann die fotos per ajax nachgeladen werden.
ich nutze dazu die prototype.js bibliothek.

meine javascript sieht so aus:
Code:
function hol_bilder() {
  var myAjax = new Ajax.Request(
            "loadimages.php",
            {
                method: 'get',
                parameters: Form.serialize($('input')),
                onComplete: zeige_bilder
            }
  );
}

function zeige_bilder( originalRequest ) {
   $('output').innerHTML = originalRequest.responseText;
}


mein html-code dann so:
Code:
<form id=input><input type=hidden name=ordner value=\"$o\"><input type=button value=\"$o\" onclick=\"hol_bilder()\"></form>
in $o steht per php dann der ordnername, auf die das formular verweist.

allerdings hab ich davon logischerweise dann mehrere formulare/buttons. aber egal welchen button ich klicke, er läd nutzt immer den ordnernamen des ersten buttons.
liegt wohl daran, das alle formulare die gleich id haben.

wie schaffe ich es nun, das ich mehrere formulare haben kann?
ausserdem will ich eigentlich keine buttons haben, sondern normale links.
da dies aber meine ersten versuche mit ajax sind, hab ich keine ahnung wie ich das hinbekomme.

hoffe mir kann jemand helfen.


mfg
 
Du kannst die Referenz des buttons mitgeben damit du zwischen den Aufrufen unterscheiden kannst. Dazu genügt ein einfach this beim Methodenaufruf, dass du mitübergibst. Sonst kannst du auch die Referenz des Formulars mit document.forms.id übergeben.

Wenn du statt Buttons Links verwenden möchtest sieht das so aus:

Code:
<a href="#" onclick="hol_bilder(document.forms.id);return false;">Hol Bilder</a>

http://de.selfhtml.org/javascript/objekte/forms.htm
 
nabend,

vielen dank, hat soweit zwar funktioniert, aber das problem an der sache ist, das es auf meinem handy nicht funktioniert hat und ausserdem des nachladen recht lange gedauert hat, da halt viele vorschaubilder geladen werden mussten.

habs nun letztendlich doch wieder umprogrammiert und klassisch gemacht.

ergebnis sieht man hier:
http://hennewelt.de/fotos.php

im vergleich zur alten version:
http://hennewelt.de/fotos_old.php

mfg
 
Zurück
Oben