2013-06-26 2 views
0

Я использую grails formRemote http://grails.org/doc/2.2.1/ref/Tags/formRemote.html, чтобы biuld мои формы. Есть ли способ отправить форму автоматически на странице Load. Я пробовал использовать Javascript techinques, но кажется, что JS обновляет всю страницу ... Я хочу сохранить функцию formRemote, которая обновляет только часть страницы с помощью AJAX.Выполнять grails formRemote автоматически при загрузке страницы

ответ

0

Я проверил быструю проверку.

Вот мой контроллер:

package test 

class NothingController { 

    def index() { } 

    def submit() { 
     render "Hello ${params.name}" 
    } 
} 

А вот мой GSP:

<!DOCTYPE html> 
<html> 
    <head><meta name="layout" content="main" /><g:javascript library='jquery' /></head> 
    <body> 
     <g:formRemote id="myForm" name="myForm" update="updateMe" url="[controller: 'nothing', action:'submit']"> 
      Name: <input name="name" type="text" value="John Doe"/> 
      <input type="submit" value="Go"/> 
     </g:formRemote> 
     <div id="updateMe">this div will be updated</div> 

     <script> 
      $(document).ready(function() { 
       $('#myForm').submit(); 
      }); 
     </script> 
    </body> 
</html> 

Вы должны иметь библиотеку JavaScript, как JQuery, так что я положил его в голову. В противном случае форма не будет вести себя в AJAX.

+0

Кажется, что только в трюке находится в селекторе ... Я использую Dojo – Jacob

0

Я получил его работу с Javascript. Имитация щелчка бутона ...

var buttons = document.getElementsByTagName('input'); 
    for(var i = 0; i < buttons.length; i++) { 
    if(buttons[i].type == 'button' && buttons[i].value == "Search") { //make sure you have the right button 
      buttons[i].click(); 
      break; 
    } 
    } 
Смежные вопросы