2012-06-14 18 views
5

Powiel możliwe:
pass parameter in g:remoteLink as result of javascript functionPrzełęcz JavaScript Zmienny w grails RemoteFunction

Próbuję zadzwonić połączenia remoteFunction który jest wyzwalany przez onClick dla przycisku, ale kliknięcie nie zadzwoń do funkcji. Przetestowałem komendę onlick z początkiem alertu i wywołano funkcję. tutaj jest mój kod.

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

function exportList(){ 

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


} 

Kiedy wyjąć parametr i profil var, funkcja nie jest nadal nazywa ... Mój kontroler i działania są odpowiednio nazwane tak nie wiem dlaczego mam ten błąd. Z góry dziękuję, jeśli możesz pomóc!

+0

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

Odpowiedz

3

JoeCortopassi jest poprawna - nie można po prostu użyć Grails skonstruować z ${remoteFunction...} bezpośrednio w javascript. Zrobiłem to przy użyciu jQuery tak:

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

To jest właściwa odpowiedź. Po prostu nie byłam zaznajomiona z Grails, dzięki @Kelly – JoeCortopassi

2

nie wiem co to ma do zrobienia, ale wygląda źle uformowane

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

jesteś pewien, że chcesz powiedzieć var{remoteFunction()}? Przyczyna $ jest po prostu zmienną. Ma mniejsze znaczenie, jeśli używasz jQuery. Ponadto, co przechodzą remoteFunction() wygląda jakby miał być obiekt, ale nie jest owinięty w {}

+0

miał nie ma wpływu –

+0

edytowany dla innego pomysłu @daniellanger – JoeCortopassi

+0

Nie rozumiem, co proponujesz –