2012-06-14 12 views
5

Duplicar posibles:
pass parameter in g:remoteLink as result of javascript functionvariable Pass Javascript en griales RemoteFunction

Estoy tratando de llamar a una llamada remoteFunction que se desencadena por un onclick de un botón, pero el clic no llama a la función. He probado el comando onlick con un inicio de alerta y se llama a la función. aquí está mi código

<input type="button" onclick="exportList()" value= "Export"/> 

function exportList(){ 

      var profile= document.getElementById('dropdown').value 
      ${remoteFunction(controller: 'profile' , action:'export', params: "'profile=' + profile")} 


} 

Cuando tomo el parámetro y el perfil var, la función todavía no se llama ... Mi controlador y la acción están nominados correctamente, así que no sé por qué estoy teniendo este error. ¡Gracias de antemano si usted puede ayudar!

+0

misma con http://stackoverflow.com/questions/10023672/pass-parameter-in-gremotelink-as-result-of-javascript-function –

Respuesta

3

JoeCortopassi es correcta - no se puede simplemente utilizar los griales construyen de ${remoteFunction...} directamente en javascript. He hecho esto con jQuery así:

function exportList() { 
    var profileToUse = document.getElementById('dropdown').value 
    jQuery.ajax({ 
     url: "/youApp/profile/export", 
     type: "POST", 
     data: {profile: profileToUse} 
    }); 
} 
+0

Esta es la respuesta correcta. Simplemente no estaba familiarizado con Grails, gracias @Kelly – JoeCortopassi

2

No sé lo que se supone que hacer, pero se ve mal formados

${remoteFunction(controller: 'profile' , action:'export', params: "'profile=' + profile")} 

¿está seguro de que quiere decir var{remoteFunction()}? Causa $ es solo una variable. Tiene aún menos sentido si está usando jQuery. Además, lo que está de paso remoteFunction() parece que se suponía que era objeto, pero no se envuelve en {}

+0

que tenía no afecta –

+0

corregido por otra idea @daniellanger – JoeCortopassi

+0

No entiendo lo que estás proponiendo –