Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    138

    Array di caselle di riepilogo

    Ciao a tutti.
    la mia esigenza è la seguente. Ho 25 righe di tabella. Ogni riga contiene una casella di riepilogo che, sull' evento onchange richiama la stessa funzione in javascript. Questa funzione fa aprire un'altra casella di riepilogo con valori legati alla selezione fatta nella precedente (del tipo regioni, provincie, ecc...).
    La mia intenzione è quella di non ripetere la stessa funzione 25 volte, cioè una per ogni casella di riepilogo.
    La mia intenzione era quella di realizzare un array di caselle di riepilogo in modo che con un ciclo for...next vedevo quale casella di riepilogo richiamava la funzione e quindi settavo i relativi controlli e variabili ovviamente, anche questi facenti parte di un array...
    Spero di essere stato chiaro.

    Grazie a tutti per l'aiuto.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Hai me no, la richiesta è incomprensibile e oltretutto non si capisce cosa vuoi.
    La funzione puoi renderla dinamica passandogli una variabile, non devi riscrivere 25 la funzione nel documento mentre per la array boh.... non ho capito cosa ti serve, fa degli esempi o metti un link alla pagina pubblica
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    138
    Sull'evento onchange della casella di riepilogo viene richiamata la funzione "cerca_giocatori()". In dettaglio:
    codice:
    <select name="cboRuoliGenerici1" class="ScrittePagine" id="cboRuoliGenerici1" onchange="cerca_giocatori();">
    Questo è il codice javascript della funzione:
    codice:
    // -------- RICERCA NOMI E ALIAS GIOCATORI ----------
    
    
    var estrai_nomi;
    var estrai_alias;
    var id_ruologenerico
       
    function cerca_giocatori() 
    {
    
    
    id_ruologenerico=document.frmFormazioniClub.cboRuoliGenerici1.options[document.frmFormazioniClub.cboRuoliGenerici1.selectedIndex].value
        // branch for native XMLHttpRequest object per nomi giocatori
        if (window.XMLHttpRequest) {
            estrai_nomi= new XMLHttpRequest();
            estrai_nomi.onreadystatechange = ricevi_nomi;
            estrai_nomi.open("GET", "../Estrai_Nomi/EstraiNomiGiocatori1.asp?id_ruologenerico="+id_ruologenerico, true);
            estrai_nomi.send(null);
        // branch for IE/Windows ActiveX version
        } else if (window.ActiveXObject) {
            estrai_nomi= new ActiveXObject("Microsoft.XMLHTTP");
            if (estrai_nomi) {
                estrai_nomi.onreadystatechange = ricevi_nomi;
                estrai_nomi.open("GET", "../Estrai_Nomi/EstraiNomiGiocatori1.asp?id_ruologenerico="+id_ruologenerico, true);
                estrai_nomi.send();
            }
        }
        
        // branch for native XMLHttpRequest object per alias giocatori
        if (window.XMLHttpRequest) {
            estrai_alias= new XMLHttpRequest();
            estrai_alias.onreadystatechange = ricevi_alias;
            estrai_alias.open("GET", "../Estrai_Alias/EstraiAliasGiocatori1.asp?id_ruologenerico="+id_ruologenerico, true);
            estrai_alias.send(null);
        // branch for IE/Windows ActiveX version
        } else if (window.ActiveXObject) {
            estrai_alias= new ActiveXObject("Microsoft.XMLHTTP");
            if (estrai_alias) {
                estrai_alias.onreadystatechange = ricevi_alias;
                estrai_alias.open("GET", "../Estrai_Alias/EstraiAliasGiocatori1.asp?id_ruologenerico="+id_ruologenerico, true);
                estrai_alias.send();
            }
        }
    }
    
    
         
      function ricevi_nomi() {   
        var nomigiocatori;       
          if (estrai_nomi.readyState == 4) {        
              nomigiocatori=estrai_nomi.responseText;
    
    
                document.getElementById('Nome1').innerHTML = nomigiocatori;
                 }
        }
        
      function ricevi_alias() {   
        var aliasgiocatori;       
          if (estrai_alias.readyState == 4) {        
              aliasgiocatori=estrai_alias.responseText;
    
    
                document.getElementById('Alias1').innerHTML = aliasgiocatori;
                 }
        }
    Come puoi vedere la funzione richiama due file asp che faranno comparire altrettante caselle di riepilogo il cui contenuto è legato alla selezione fatta dalla casella di riepilogo che lancia la funzione.
    Siccome di queste caselle di riepilogo ne ho 25, vorrei evitare di creare 25 funzioni con altrettanti file asp. Il problema è che asp lo so gestire mentre javascript no.

    Come potrei fare?
    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Effettua una sola chiamata ajax, e fatti tornere un json con tutti i dati (nomi,alias ecc...), poi vai a richiamare una sola funzione che andrà a recuperare l'oggetto tornato e valorizzerà le rispettive caselle di riepilogo.

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.