allora, usando prototype devo aggiornare un div (#ajax-cast) con ajax al click sui link di un menu ( UL#caster).
se uso un ID per ogni link mi funziona alla grande ma volevo usare un ciclo....
codice:
function aggiorna() {
var menuartisti = $('caster');
var bottone = menuartisti.getElementsByTagName("a");
for (i=0; i<bottone.length; i++)
bottone[i].onclick=function(){
new Effect.Fade('ajax-cast', {
duration: 1,
fps: 50,
afterFinish: function() {
new Ajax.Updater('ajax-cast', bottone[i].getAttribute('href') , { //errore quì
asynchronous: true,
onSuccess: function() {
new Effect.Appear('ajax-cast', {
duration: 1,
fps: 50,
})
}
})
}
}) ;return(false);
}
}
con lo script così fatto al click su un link nasconde il contenuto precedente ma non carica il nuovo, firebug mi dice che bottone[i].getAttribute('href') has no properties.
non è un problema ajax o di prototype ma proprio sul javascript, se faccio una prova e metto l'id ad un link funziona ( $('ID del link').getAttribute('href') ).
Ci vorrebbe l'aiuto di qualcuno che conosca javascript più di me.