Ecside2能不能自已写Form标签实现文件上传?
shim
2007-05-29
我在新建时有文件上传,但我在外面加了
<form id="ec" method="post" enctype="multipart/form-data"> 结果源码 <form id="ec" method="post" enctype="multipart/form-data"> <form id="ec" method="post" style="width:100%;visibility :hidden;" nearPages="3" filterable="true" canResizeColWidth="true" maxRowsExported="10000000" minColWidth="80" ......... > 不知道能不能实现我的需求? |
|
fins
2007-05-30
你这样做肯定是不可以的.
ecs暂时不支持 enctype属性,而且以后也不打算支持. 实在想像不出有什么理由非要把上传组件与列表放到一个form里 建议你还是分成两个form来做吧 |
|
shim
2007-05-31
fins 写道 你这样做肯定是不可以的.
ecs暂时不支持 enctype属性,而且以后也不打算支持. 实在想像不出有什么理由非要把上传组件与列表放到一个form里 建议你还是分成两个form来做吧 对我来说,只要可以设置form的enctype就可以了。 比如我有这么一个广告表ad(name,url,uploadtime,status) 我在新增或编辑时就有一个图片上传。 我觉得这个需求很普遍,为什么不打算支持呢? |
|
fins
2007-05-31
enctype
ok加 不难 明天发布的版本就加 呵呵 不过我加入了这个属性只是站在"只要可以设置form的enctype就可以了"的角度上, 并不代表我认同将列表表单与上传操作结合的做法 呵呵 |
|
shim
2007-05-31
fins 写道 不过我加入了这个属性只是站在"只要可以设置form的enctype就可以了"的角度上, 并不代表我认同将列表表单与上传操作结合的做法 呵呵 哈哈. 谢谢! 是的,在<table上加enctype 是感觉有点不太好. 但又不支持自定义<form标签. 这样要实现文件上传时总觉得有些不爽. |
|
shim
2007-06-01
谢谢fins这个版本<table 标签中加入了enctype
我以为就可以了,但结果我在Action中得到request.getContentType()的值为application/x-www-form-urlencoded 看了一下代码,是由于prototype_mini.js里的 Ajax.Base.prototype = { setOptions: function(options) { this.options = { method: 'post', asynchronous: true, contentType: 'application/x-www-form-urlencoded', encoding: 'UTF-8', parameters: '', nocache: true }; Object.extend(this.options, options || {}); this.options.method = this.options.method.toLowerCase(); if (typeof this.options.parameters == 'string') { this.options.parameters = this.options.parameters.toQueryParams(); } } }; contentType: 'application/x-www-form-urlencoded', 引起的. 我设置useAjax="false" 结果也不行. 看来我想要的功能是实现不了了. |
|
fins
2007-06-02
ajax提交如果不使用 'application/x-www-form-urlencoded'
那么确实没什么意义啊 我实在不明白你要用那个列表的table做什么 如果你想使用自己的提交,那么你可以不使用ajax提交,而使用传统的提交 例如翻页 过滤 排序 CRUD等等操作使用ECSIDE默认的提交 而如果你要上传文件,那么自己加个按钮,那个按钮触发form.submit 这样不就可以了吗 |