Fórumok

Javascript: funzione ritorna "undefined" la prima volta che viene chiamata

thumbnail
Marco Rosetti, módosítva 9 év-val korábban

Javascript: funzione ritorna "undefined" la prima volta che viene chiamata

Junior Member Bejegyzések: 68 Csatlakozás dátuma: 2013.03.06. Legújabb bejegyzések
Ciao,
ho un problema con il metodo Liferay.provide lato javascript.
Con il codice riportato sotto, la prima volta che clicco sul pulsante TEST il messaggio che ricevo è "Help: undefined" mentre successivamente ottengo il messaggio corretto "Help: test liferay provide"

Il problema non si presenta se, invece di Liferay.provide, utilizzo la dichiarazione standard di funzioni javascript.

<aui:script use="aui-base">
Liferay.provide(
	window,
	'<portlet:namespace />MYFUNCTION',
	function()
	{
		return 'test liferay provide';
	}
)
</aui:script>

&lt;%
	String command = "javascript: alert('Hellp: '+"+namespace+"MYFUNCTION())";
%&gt;
<aui:button value="TEST" onClick="<%=command %>" />


Cosa sbaglio? Utilizzo male Liferay.provide?

Grazie,

-MR
thumbnail
Daniele Baggio, módosítva 9 év-val korábban

RE: Javascript: funzione ritorna "undefined" la prima volta che viene chiam

Expert Bejegyzések: 336 Csatlakozás dátuma: 2008.12.05. Legújabb bejegyzések
Ciao,

non mi pare che sia usato male.
Tieni conto che l'esecuzione di Liferay.provide è asincrona e viene eseguita dopo il caricamento della pagina.
Fai clic troppo presto?
thumbnail
Marco Rosetti, módosítva 9 év-val korábban

RE: Javascript: funzione ritorna "undefined" la prima volta che viene chiam

Junior Member Bejegyzések: 68 Csatlakozás dátuma: 2013.03.06. Legújabb bejegyzések
Ciao,
ho provato anche ad aspettare un po' (5-10 minuti) ma il problema rimane
thumbnail
Daniele Baggio, módosítva 9 év-val korábban

RE: Javascript: funzione ritorna "undefined" la prima volta che viene chiam

Expert Bejegyzések: 336 Csatlakozás dátuma: 2008.12.05. Legújabb bejegyzések
Dunque, facciamo una prova.
Non hai bisogno di <aui:script use="aui-base"> in questo caso, basta <aui:script>.
Se la tua funzione ha bisogno di moduli devi usare il quaerto parametro di Liferay.provide.
thumbnail
Marco Rosetti, módosítva 9 év-val korábban

RE: Javascript: funzione ritorna "undefined" la prima volta che viene chiam

Junior Member Bejegyzések: 68 Csatlakozás dátuma: 2013.03.06. Legújabb bejegyzések
Stesso problema anche togliendo il parametro "use".
thumbnail
Daniele Baggio, módosítva 9 év-val korábban

RE: Javascript: funzione ritorna "undefined" la prima volta che viene chiam

Expert Bejegyzések: 336 Csatlakozás dátuma: 2008.12.05. Legújabb bejegyzések
Scusa ma solo ora ho capito bene l'uso che fai della funzione!

L'esecuzione delle funzioni fatte con Liferay.provide è asincrona e non ha senso usare il paramentro di ritorno.
La parte corretta del tuo caso è il ritorno di underfined, mentre quando ti torna un valore credo sia un effetto collaterale, un caso.
thumbnail
Marco Rosetti, módosítva 9 év-val korábban

RE: Javascript: funzione ritorna "undefined" la prima volta che viene chiam

Junior Member Bejegyzések: 68 Csatlakozás dátuma: 2013.03.06. Legújabb bejegyzések
Ok ho capito.
Quindi per usare funzioni che ritornano un valore devo per forza dichiararle nel modo "classico" o c'è qualche utilità di Liferay?

Grazie