Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    prototype- richiamare valore href

    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.

  2. #2
    ho risolto se può interessare a qualcuno posto il codice giusto:
    codice:
    function reppas() {
    var menuartisti = $('caster');
        var bottone = menuartisti.getElementsByClassName("linked");
        for (i=0; i<bottone.length; i++)	
           bottone[i].onclick=function(){
    		   queryquery = this.getAttribute('href');
    		
    	new Effect.Fade('ajax-cast', { 
          duration: 1, 
          fps: 50,
    	         afterFinish: function() {
    				
    	  new Ajax.Updater('ajax-cast', queryquery , { 
              asynchronous: true, 
    		  onSuccess: function() { 
    		   new Effect.Appear('ajax-cast', {
                  duration: 1,
                  fps: 50,
              
                })
              } 
            }) 
          } 
        }); return(false);
    		}
    		
    }
    bastava sostituire bottone[i].getAttribute('href') con this.getAttribute('href')

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.