Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    richiamo funzione onload per elementi in quantità sconosciuta

    salve nn conosco tutte le funzioni di javascript
    quidni vi chiedo
    allora ho estratto con php un elenco di dati
    inseriti in div con id composto da nome+numero

    ho bisogno di chiamare una funzione al caricamento della pagina

    poichè verrano estratti con php io nn so quanti saranno
    quindi nn posso inizializzarli a inizio pagina
    e nn posso neppure usare l'onload ceh è evento valido solo per il body e il framset

    come posso fare?
    come faccio a sapere in anticipo quanti saranno e quali sono i loro nomi, perchè in caso dipagianzione nella seconda pagina
    i nomi avranno una numerazione che non parte certo da 1, quidni fare un ciclo con un contatore ceh parte da zero sino al numero di div presenti nella pagina nn va bene

    aiuttttttttttttttttttttooooooooo

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    la cosa piu` pulita, e` che il server inserisca in variabili JS l'inizio e la fine del loop. Esempio:
    <script ...>
    var ini = 0;
    var fin = 19;
    </script>
    poi nella pagina successiva:
    var ini = 20;
    var fin = 39;
    ...
    che poi usi con:
    for(var i=ini; i<=fin; i++) {...
    document.getElementById("fisso"+i). ...


    ---

    In alternativa, puoi fare la ricerca di tutti gli elementi di un determinato tipo e con un determinato nome:
    var lista = document.getElementByTagName('div');
    for(var i=0; i<lista.length; i++) {
    if (lista[i].id.indexOf('fisso')>=0) { ...
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    si però nn so come il server possa passare il dato
    dici con php?

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da recensore
    dici con php?
    Esatto! Non mi sono posto il problema del linguaggio ed ho usato il termine generico "server".

    Se vuoi dettagli maggiori, devi dirci l'uso che ne vuoi fare (in pratica il tuo script), altrimenti rischiamo di darti info che non ti servono e ti portano fuori strada.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    allora
    con php estraggo dei record
    all'onload del body
    faccio richiamare da ogni div (con nome univoco - id) una funzioen che crea un oggetto per ogni div che la richiama
    ecco dobrebbe essere tutto qua

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non capisco la sintassi italiana che hai usato nell'ultimo post. Provo ad interpretare.
    All'onload, chiamo una funzione JS, che in ogni div (con id unico) crea un oggetto.

    Se l'interpretazione e` corretta, la cosa non e` difficile (nota che non conosco la sintassi PHP, per cui vi possono essere errori):
    codice:
    var from = <?echo $from; ?>;
    var to = <?echo $to; ?>;
    function addObj() {
      for(var i=from; i<=to; i++) {
        var obj = document.getElementById("fisso"+i);
        // qui il resto della funzione
      }
    }
    Naturalmente il PHP deve passare le due variabili, ma le conosce, dato che sono le variabili interne con cui crea i vari <div>.
    La stringa "fisso" si riferisce alla parte fissa dei vari id. Ti ricordo che i nomi in JS devono sempre iniziare con una lettera e contenere solo lettere e numeri (oltre eventualmente l'underscore _).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    <script type="text/javascript">
    var lista = document.getElementByTagName('div');
    var c = 0;
    var MyHeight= "";
    for(var i=1; i<lista.length; i++) {
    if (lista[i].id.indexOf('con')>=0) {
    c++;
    MyHeight = "MyHeight"+c;

    MyHeight = new fx.Height("con"+c, {duration: 400}).toggle();
    }
    }
    </script>

    ecco ho prvato così
    ma nn mi crea gli oggetti
    in cosa sbaglio?

  8. #8
    .... nn riesco a risolverla
    anceh così nn va bene


    var lista = document.getElementByTagName('div');
    var c = 0;
    var MyHeight = new Array();
    for(var i=0; i<lista.length; i++) {
    if (lista[i].id.indexOf('con_faq')>=0) {
    MyHeight[c] = new fx.Height(lista[i].id, {duration: 400});
    MyHeight[c].toggle();
    c++;
    }
    }

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    getElementsByTagName('div');

    Scusa avevo sbagliato la sintassi.

    In caso di errori, conviene sempre inserire degli alert, per verificare cosa si sta facendo.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  10. #10
    ohh si così la funzione fx funge
    però continua dirmi che MyHeight nn è dichiarato

    io metto in alcuni link questo evento
    onclick=\"MyHeight[$i].toggle();

    mi si avvisa appunto che MyHeight nn è dichiarato

    ma mi sembra di averlo fatto

    cmq
    si ho prvato ad suare sia alert che document.write,
    ma nn avevo ne la finestra di avviso (alert
    ne mi scriveva nulla sul documento (document.write)

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.