【问题标题】:grails ajax file upload in a g:form以 g:form 上传 grails ajax 文件
【发布时间】:2014-01-23 16:17:04
【问题描述】:

我有一个位于模式窗口中的表单,作为此表单的一部分,我有一个文件上传。

我正在努力寻找一种上传方式

 <g:form>

通过阿贾克斯。我知道我可以使用uploadForm,但这会刷新我不想要的页面。

我已经尝试了所有的 ajax 文件上传 grails 插件,但没有成功。

谁能指出我可以做到这一点的某种方式。

我的尝试如下:

    <g:form action="save">

           <g:textField name="category" value=""/>

                  <g:uploadForm name="myUpload">
                         <input type="file" name="myFile" />
                  </g:uploadForm>

           <g:submitButton name="create"value="create" />


     </g:form>

     <g:javascript>
           $(document).ready(function() {
                 $('#myUpload').ajaxForm(function() {
                 alert("File upload finished!");
                 });
            });
     </g:javascript>

警报永远不会被触发。 我已经添加了相关的JS文件。

【问题讨论】:

    标签: javascript jquery ajax grails


    【解决方案1】:

    您可以使用jquery ajax form plugin ajaxify 上传表单。

    如果您想通过 ajax 一次性提交表单中的所有内容,您可以执行以下操作:

    <g:uploadForm name="myUpload" action="save">
        <g:textField name="category" value=""/>
        <input type="file" name="myFile" />
        <g:submitButton name="create"value="create" />
    </g:uploadForm>
    
    <script> 
        $(document).ready(function() { 
            $('#myUpload').ajaxForm(function() { 
                alert("File upload finished!"); 
            }); 
        }); 
    </script> 
    

    【讨论】:

    • 全球使用有dropped to 10%。问题中哪里说需要支持 IE8?
    • 我只是想知道,因为我有同样的问题,需要支持ie8。
    • 不幸的是,对于 IE8,您需要使用隐藏的 iframe。有一个很好的教程here
    • 是的,我是使用 iframe 完成的。
    • 这似乎不起作用,因为它需要成为现有表单的一部分,据我所知,您不能在表单中包含表单。我将编辑我的原始问题并添加更多代码。
    猜你喜欢
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-17
    • 2011-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多