Non in grado di chiamare la funzione JS sul ActionLink, utilizzato per aggiornare la zona in Tapestry5

StackOverflow https://stackoverflow.com/questions/6825488

  •  26-10-2019
  •  | 
  •  

Domanda

Sono di fronte a un problema in Tapestry.

Problema - Sto usando una griglia per visualizzare i dati. con ogni riga i sono la visualizzazione di un pulsante più (+). quando si clicca sul pulsante più (+) e poi sarò visualizzare le righe interne per quella riga. Ho raggiunto questo modo statico. Staticamente mezzi, quando Griglia caricare i dati allo stesso tempo i recuperano i dati di file interne e lo immagazzinano nei campi nascosti. quando clicco sul pulsante più (+) e poi chiamerò una funzione JS che utilizzano il campo di dati nascosti e disegnare le righe interne.

Ora c'è una torsione. Devo fare la stessa cosa in modo dinamico. Significa il click del pulsante più (+) devo recuperare i dati per righe nascoste e quindi chiamare la funzione JS per disegnare le righe interne. Per raggiungere questo obiettivo ho usato Zone & ActionLink per ottenere i dati di file interne in modo dinamico. Zone contiene i campi nascosti che contengono i dati per i file interne. quando scatto sul ActionLink, Zona rinfrescarsi e recuperare i dati, ma dopo che io non sono in grado di chiamare la funzione JS.

La speranza voi ragazzi capito il problema. Bisogno del vostro aiuto su base urgente.

Saluti,
Mahendra

È stato utile?

Soluzione

Il problema è che non si è in grado di chiamare la funzione JS su Aggiorna Zone. per cui v'è una soluzione.

Una zona può essere inizialmente visibile o invisibile. Quando una zona viene aggiornato, è fatto visibile se non attualmente così. Questo si realizza attraverso un funzione sull'oggetto Tapestry.ElementEffect lato client. Per impostazione predefinita, la funzione show () viene utilizzato per questo scopo. Se si vuole Tapestry a chiamare una funzione Tapestry.ElementEffect diversa quando si verificano gli aggiornamenti, specificarne il nome con il parametro spettacolo della zona.

Se una zona è già visibile, quindi una funzione di effetto diverso viene utilizzato per evidenziare il cambiamento. Per impostazione predefinita, la funzione di evidenziazione () è chiamato, che esegue una dissolvenza giallo per evidenziare che il contenuto di la zona è cambiata. In alternativa, è possibile specificare un diverso funzione di effetto con il parametro di aggiornamento del Zona: Per avere arazzo zona aggiornare un senza il solito giallo evidenziare effetto, basta specificare "show" per il parametro di aggiornamento:

<t:zone t:id="myZone" t:update="show">

Si può anche definire e utilizzare il proprio funzione di effetto JavaScript (con in basso a caso i nomi), in questo modo:

    Tapestry.ElementEffect.myeffectname = function(element){
 YourJavascriptCodeGoesHere; };

Quindi nel tuo caso è possibile utilizzare come qui di seguito il codice

<t:zone t:id="zoneId" t:update="yourfunction" >
// contain the your code                           
</t:zone>

in modo che quando Zona ottenere aggiornarlo chiamerà yourFunction.

Per ulteriori informazioni Fenomeno di zona

Enjoy.

Saluti,
Mahendra

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top