Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di chris
    Registrato dal
    Sep 1999
    Messaggi
    1,568

    [js] Dichiarare una funzione dentro una funzione

    Salve a tutti,
    sto realizzando un'interfaccia di amministrazione sfruttando php e javascript con tecnologia ajax.
    In pratica ad ogni richiesta del client lo script php invia del codice html da mostrare (semplice) e del codice javascript da interpretare (più difficile).

    Ho provato a inserire dinamicamente con javascript questo codice nell'html della pagina ma senza risultati. Allora ho provato a generare delle dichiarazioni di funzioni ma mi trovo in una situazione per cui la dichiarazione va all'interno di un'altra funzione.

    Sto un po' balenando nel buio, che posso fare per dichiarare delle funzioni javascript al volo essendo già all'interno di una chiamata di funzione?

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    la butto lì:

    se leggi una stringa ((che da quanto ho capito è del codice js) che cosa succede se fai un eval a questa stringa??
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Utente di HTML.it L'avatar di chris
    Registrato dal
    Sep 1999
    Messaggi
    1,568
    La esegue correttamente tranne nel caso di una dichiarazione di funzione. In quel caso sembra non accorgersi del fatto e passa oltre (la funzione non viene dichiarata).

    Per il momento ho creato una specie di sistema di funzioni caricando in un array il codice da eseguire (legato al nome della funzione stessa) e richiamando con eval la parte di codice che mi interessa tramite una funzione lanciatrice.

    In sostanza prima popolo l'array:
    var funzioni = new Array();
    funzioni['stampa'] = "alert('Stampa!')";
    funzioni['stampa2'] = "alert('Stampa 2 volte!')";

    e poi richiamo la funzione lanciatrice che è qualcosa del genere:
    function startFunct(nome){
    eval(funzioni[nome]);
    }

    Svolge egregiamente il suo ruolo, ma mi sembra una soluzione poco pulita. Stavo cercando un sistema per evitare questo rigiro.

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    nn provando a fare quello che stai facendo tu nn riesco ad intuire tutte le problematiche che puoi incontrare

    tuttavia mi darei una letta a questo:
    http://ajaxpatterns.org/On-Demand_Javascript

    nn so se può aiutarti
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

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.