最近重拾jq,下面是一位同志的参考,暂时还没觉得用到,但是感觉还是有用的,就录入了下来
{name:'fileToUpload',index: 'fileToUpload', editoptions: {enctype: "multipart/form-data"},edittype:'file',width: 150,align: "left",editable: true}
JQGrid的允许您创建类型为“文件”的输入字段,但不启用ENCTYPE=“多部分/窗体的数据”。 使用其他插件来处理文件上传,具体的Ajax文件上传的创造者。他说,以初始化onInitializeForm()
的方法,但究竟是如何做到这一点并不清楚,他说, “另外我建议你ajax 文件上传插件和intialize它 只有一次在onInitializeForm事件“。 那就是关于它如何做到这一点的说明。 我迄今所做的: 我有JQGrid的编辑形式显示文件输入字段,我把所有的插件文件的位置和装载正确。我想不通的是如何得到提交的表单才能正常上传文件(我想我无法弄清楚如何“与onInitializeForm事件初始化ajax实现文件上传插件”)。任何想法是极大的赞赏。 对于什么是值得我可以得到onInitializeForm触发简单的像警报(“测试”),但它触发了越来越多的每次加载网格(就好,没事第一个提醒你加载网格中的下一个,两个警报下一等) 。
<!-- Add your other js files like jQuery, jqGrid etc. -->
<script type="text/javascript" src="js/ajaxfileupload.js"></script>
<script language="javascript">
$(function() {
$(document).ready(function() {
jQuery("#your_grid_id").jqGrid({
url: 'your_url',
datatype: 'json',
mtype: 'post',
pager: 'your_pager_id',
colNames: ["Description", "File"],
colModel: [{name: "desc", index: "desc", ... ... ...}, {name: "file_to_upload", index: "file_to_upload", edittype: "file", ... ... ...}]
}).navGrid("#your_pager_id",{{... ... ...},{
jqModal:true,closeAfterEdit: true,recreateForm:true,onInitializeForm : function(formid){
$(formid).attr('method','POST');
$(formid).attr('action','');
$(formid).attr('enctype','multipart/form-data');
}, afterSubmit : function(response, postdata){
$.ajaxFileUpload({
url: 'your_file_url_where_upload_operates',
secureuri:false,
fileElementId:'file_to_upload',
dataType: 'json',
success: function (data, status) {
alert("Upload Complete.");
}
});
}
}},{
jqModal:true,closeAfterAdd: true,recreateForm:true,onInitializeForm : function(formid){
$(formid).attr('method','POST');
$(formid).attr('action','');
$(formid).attr('enctype','multipart/form-data');
}, afterSubmit : function(response, postdata){
$.ajaxFileUpload({
url: 'your_file_url_where_upload_operates',
secureuri:false,
fileElementId:'file_to_upload',
dataType: 'json',
success: function (data, status) {
alert("Upload Complete.");
}
});
}
}
});
});
});
</script>
recreateForm: true
确保每添加或编辑表单是重新创建。
格式化参考:http://www.cnblogs.com/hxling/archive/2010/10/10/1847334.html