Visualizzazione dei risultati da 1 a 8 su 8

Discussione: eventi ajax

  1. #1
    Utente di HTML.it L'avatar di Mike
    Registrato dal
    May 2002
    Messaggi
    423

    eventi ajax

    salve, ho una select con 10 valori e sull'onChange chiamo una funzione ajax per far caricare altri dati filtrati in un'altra select. Fino a qui ci siamo.

    Ho scoperto che se uso il cusore (tasto giu) velocemente per selezionare un valore nella prima select, ajax va in tilt, nel senso che mi carica i dati nella seconda select in ripetizione, anche se non sto facendo nulla.

    esiste qualche controllo?
    Mike

  2. #2
    se ti muovi con il cursore cosa fa la seconda select??non ho capito..

  3. #3
    Utente di HTML.it L'avatar di Mike
    Registrato dal
    May 2002
    Messaggi
    423
    se muovo velocemente il cursore, la seconda select si ricarica in continuazione senza terminare.
    Mike

  4. #4
    La chiamata ajax non puoi farla sincrona??
    Così finchè non finisce una, non parte l'altra..

  5. #5
    Utente di HTML.it L'avatar di Mike
    Registrato dal
    May 2002
    Messaggi
    423
    ci vorrebbe una funzione o altro per evitare il doppio click!
    Mike

  6. #6
    Utente di HTML.it L'avatar di Mike
    Registrato dal
    May 2002
    Messaggi
    423
    ho fatto qualcosa del genere ma non va:

    • function clicked(topic,subcats) {

      first = topic;
      second = subcats;


      var el = document.getElementById(topic);
      var ob2=document.getElementById(subcats);


      if(ob2!=null){
      if(completato=='OK'){
      while(ob2.hasChildNodes()) { //removes items from dropdown if some already exist
      ob2.removeChild(ob2.firstChild);
      }
      completato='KO';
      inizioChiamata=dataChiamata.getTime();
      verificaTempoTrascorso();
      Ajax(el,ob2);

      }

      function verificaTempoTrascorso(inizioChiamata){
      var aa = setTimeout('verificaTempoTrascorso2(inizioChiamata )', 300);
      }

      verificaTempoTrascorso2 = function() {
      if((dataChiamata.getTime() - inizioChiamata) < massimaAttesa){
      completato="OK";
      clearInterval(aa)
      }
      }
      }
      }
    Mike

  7. #7
    Utente di HTML.it L'avatar di Mike
    Registrato dal
    May 2002
    Messaggi
    423
    Ho provato anche con altri script che si trovano in rete, infatti il problema sussiste quando arriva una mole di dati dal db x es. tutti i comuni della provincia di roma.... Non avete mai provato?

    questo è il link dove ho scaricato l'applicazione con le select.project
    Mike

  8. #8
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Prova se ti serve questo esempio:

    codice:
    function ListBox_regioni_onchange_get(v)
    {
    	v.disabled = true;
    	var j = new Ajax("?ajax_comando=provincie&codice_istat_regione=" + v.value, onload, null, onerror );
    
    	function onload()
    	{
    			var t = this.request.responseText;
    			//var tx = this.request.responseXML;
    			
    			document.getElementById("div1").innerHTML = t;
    			v.disabled = false;
    	}
    
    	function onerror()
    	{
    		v.disabled = false;
    		this.defaultError();
    	}
    
    }
    Pietro

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.