2012-06-14 25 views
6
var search= document.getElementById('appMenu').value 
document.location.href= '${createLink(controller: 'application' , action:'ajaxAppSearch', params: ['query': search])}' 

要素appMenuはテキストフィールドなので、ユーザーがテキストボックスに入力して検索コントローラに渡す値を取得しています。しかし、paramsクエリがnullであることを私に伝え続けます。検索はリンク作成メソッドに渡されていないようです。誰でも提案がありますか?Javascript変数をcreatelinkメソッド呼び出しに渡すGrails

答えて

11

Grails(コントローラ、GSP、タグなど)はサーバー側で動作しています。クライアントサイドのJavaScript。そして、このリンクはブラウザにデータを送る前、JavaScriptがその変数をGSPタグに渡す前に準備されています。

しかし、あなたは、サーバー側のベースリンクを用意し、同様に、JavaScriptを使用して、クライアント側で追加のパラメータを追加することができます。

var search= document.getElementById('appMenu').value; 
document.location.href= '${createLink(controller: 'application' , action:'ajaxAppSearch')}?query=' + escape(search); 
+0

素晴らしい、ありがとう完璧に動作します –

関連する問題