posts - 431,  comments - 344,  trackbacks - 0
          首先下載dojo和安裝dojo plugin (grails 1.0以上)

          <g:javascript library="dojo" />
          <g:javascript>
          dojo.require(
          "dojo.io.IframeIO");
          </g:javascript>
          <g:form url="[action:'submitToRemoteCall']" id="form2"
          enctype
          ="multipart/form-data">
          File: 
          <input name="someFile" type="file"></input>
          <g:submitToRemote
          value
          ="Submit Upload"
          name
          ="form2"
          action
          ="submitToRemoteUpload"
          update
          ="[success:'message',failure:'error']" />
          </g:form>
          注意 form中寫入url屬性, 而且form不要有hide類型的input,否則會調用XMLHttpRequest,而不用IframeIO

          在controller中寫入
          def submitToRemoteUpload =
          {
          def f 
          = request.getFile('someFile')
          if(f.empty) {
          render 
          "No file!"
          }
           else {
          def fileName 
          = f.getOriginalFilename()
          render(text:
          "<html><body><textarea>You called ${actionName} in
          ${controllerName} with file ${fileName}</textarea></body></html>",
          contentType:"text/html", encoding:"UTF-8")
          }

          }
          IframeIO的默認mimetype為text/plain,所以使用render (text:...)而且套嵌在<textarea>中

          如果要返回render view。 可以修改dojo的dojo.io.bind(),bind參數加上mimetype:"text/html"。form中的<g:submitToRemote>改為
          <input onclick="dojo.io.bind({url:'/test/index/submitToRemoteUpload',  
                          mimetype:'text/html',
                          load:function(type,data,evt){dojo.byId('message')innerHTML = data.body.innerHTML;},
                          error:function(type,error) { dojo.html.textContent( dojo.byId('error'),error.message);},
                          formNode:dojo.byId('form2')});return false
          "
               type
          ="submit" name="form2" value="Submit Upload">
          posted on 2008-07-17 22:58 周銳 閱讀(724) 評論(0)  編輯  收藏 所屬分類: Groovy&Grails
          主站蜘蛛池模板: 兴国县| 博罗县| 祁门县| 班玛县| 阜阳市| 崇文区| 德兴市| 辉县市| 萨迦县| 东丽区| 伊川县| 南江县| 台湾省| 蒙自县| 龙岩市| 涿鹿县| 酉阳| 礼泉县| 临颍县| 吉水县| 柳河县| 富宁县| 新建县| 曲沃县| 报价| 隆德县| 绥江县| 二连浩特市| 上犹县| 秦安县| 濮阳县| 博乐市| 安化县| 黄龙县| 广宗县| 扬州市| 新郑市| 宝丰县| 浦县| 青神县| 遂宁市|