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

Ứng dụng phần tửMenu là trường văn bản, vì vậy tôi nhận được giá trị mà người dùng nhập vào hộp văn bản để chuyển vào bộ điều khiển tìm kiếm. Tuy nhiên, nó vẫn nói với tôi rằng truy vấn params là null. Dường như tìm kiếm không được chuyển vào phương thức tạo liên kết. Bất cứ ai có một đề nghị?Chuyển Biến Javascript thành lệnh gọi phương thức tạo liên kết Grails

Trả lời

11

Grails (bộ điều khiển, GSP và thẻ, v.v.) đang hoạt động ở phía máy chủ. JavaScript ở phía máy khách. Và liên kết này được chuẩn bị trước khi gửi dữ liệu đến trình duyệt và trước khi JavaScript có thể chuyển biến của nó thành thẻ GSP.

Nhưng bạn có thể chuẩn bị liên kết trên cơ sở phía máy chủ, và thêm tham số phụ về phía khách hàng, bằng cách sử dụng javascript, như:

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

tuyệt vời, hoạt động hoàn hảo cảm ơn bạn –