【问题标题】:Execute grails formRemote automatically on page load在页面加载时自动执行 grails formRemote
【发布时间】:2013-06-26 06:52:27
【问题描述】:

我正在使用 grails formRemote http://grails.org/doc/2.2.1/ref/Tags/formRemote.html 来构建我的表单。有什么方法可以在 pageLoad 上自动提交表单。我试过使用 Javascript techinques,但似乎 JS 刷新了整个页面......我仍然想保留 formRemote 功能,它只使用 AJAX 刷新页面的一部分。

【问题讨论】:

    标签: javascript forms grails onload


    【解决方案1】:

    我做了一个快速测试。

    这是我的控制器:

    package test
    
    class NothingController {
    
        def index() { }
    
        def submit() {
            render "Hello ${params.name}"
        }
    }
    

    这是我的普惠制:

    <!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>
    

    你需要有一个像jquery这样的javascript库,所以我把它放在了头上。否则,表单将不会在 AJAX 中运行。

    【讨论】:

    • 似乎唯一的技巧是在选择器中......我正在使用Dojo
    【解决方案2】:

    我让它与 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; 
         }
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-16
      • 1970-01-01
      • 2011-03-10
      • 1970-01-01
      相关资源
      最近更新 更多