• struts2整合uploadify插件怎样传参数


    关于uploadify3.1,先看下帮助文档中的有些知识。

    其中有个onUploadStart方法,我们可以使用这个向后台传参。

    下面举个例子,

    js:

    <script type="text/javascript">
        $(function () {
            $('#actpic').uploadify({
                'debug': false,                             
                'auto': false,                            
                'multi': true,    
                'uploader': 'admin/uploadyear.action', 
                'fileObjName': 'actpic',                      
                'removeCompleted': false,                            
                'progressData': 'percentage',                     
                'buttonText': '附件上传',                     
                'formData':{'getyearid':${getyearid},'statisform_obj_id':${getyearid?default(0)},'statistical_form_name3':'1','remark_name':'1','other_tagsname':'1','idStr':'1'},
                
                'method': 'post',    
                'cancel': 'uploadify/uploadify-cancel.png',
                                       
                'fileSizeLimit': '50MB',                           
                'swf': 'uploadify/uploadify.swf',                 
                'width': 300,
                 'onUploadStart':function(file){
                    //获取数据
                    var statistical_form_name3 = $("#statistical_form_name3").val();
                    var other_tagsname = $("#other_tagsname").val();
                    var remark_name = $("#remark_name").val();
                    alert(statistical_form_name3);
                    alert(other_tagsname);
                    alert(remark_name);
                    // 以下是得到选中的复选框
                    var ids = new Array();
                    if ($("input[name='tagsname']:checked").size() == 0) {
                        alert("请选择需要检索的标签!");
                        return false;
                    }
                    $("input[name='tagsname']:checked").each(function(i, obj) {
                        ids[i] = $(obj).val();
                    });
                    var idStr = ids.join("-");
                    alert(idStr);
                    
                    $('#actpic').uploadify("settings","formData",{'idStr':idStr,'other_tagsname':other_tagsname,'remark_name':remark_name,'statistical_form_name3':statistical_form_name3});
                },
                <#--全部文件上传完触发(将信息进行发送)-->
                 'onQueueComplete' : function(queueData) {
                 alert("success");
                     
                 }
            });
        });
    </script>

    jsp中body:

    <form id="addFile" class="pageForm required-validate" method="POST"  enctype="multipart/form-data" target="hidden_frame">
    			<div style="height:160px;">
    				<input type = "hidden" id = "getyearid" name = "getyearid" value = "${getyearid?default(0)}">
    				<p>
    					<label>报表名称:</label>
    					<input name = "statistical_form_name3" id="statistical_form_name3" type="text" size="30" value = "${(statistical_form_name[0][2])?default("")}"/>
    				</p>
    					<br/><br/><br/><br/>
    				<p>
    					<label>备注:</label>
    					<input name = "remark_name" id="remark_name"  type="text" size="30" value = "${(statistical_form_name[0][5])?default("")}"/>		
    				</p>
    					<br/><br/><br/><br/>
    				<p>
    					<label>标签:</label>		
    					<#if tags?exists && statisform_obj_tags?exists>
    						<#list tags as tag>	
    							<#if tag[0]=="yes">
    						  		<${(tag[1])?default("")}>:${(tag[2])?default("")}
    	  					  		<input type="checkbox" name="tagsname" id="${(tag[2])}" value="${(tag[2])}"} checked>
    							<#else>
    						  		<${(tag[1])?default("")}>:${(tag[2])?default("")}			
    	  					  		<input type="checkbox" name="tagsname" id="${(tag[2])}" value="${(tag[2])}"} >
    							</#if>
    						</#list>
    					</#if>
    					<br/>
    					<#if tags?exists && !statisform_obj_tags?exists>
    				 		<#list tags as tag>
    							 <${(tag[1])?default("")}>:${(tag[2])?default("")}
    	  					  	 <input type="checkbox" name="tagsname" id="${(tag[2])}" value="${(tag[2])}"}>
    				 		</#list> 
    					</#if>
    				</p>
    				<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>	
    				<p>		
    					<label>其他标签:</label>
    					<label>(以逗号隔开)</label>
    					<label>(例:**,**)</label>
    					<input name = "other_tagsname" id="other_tagsname" type="text" size="30" value = "${(other_tagsname)?default("")}"/>	
    				</p>  	
    				<br/><br/><br/><br/><br/><br/>
    				<label style="width:60px;">选择文件:</label>
    				<fieldset style="300px;border:1px solid #99BBE8;text-align:left;COLOR:#000000;FONT-SIZE:12px;font-family: Verdana;padding:5px;">				
    					<input name="actpic" type="file" id="actpic"/>
    				</fieldset>
    				<br/><br/><br/><br/>		
     			</div>
    			<iframe name='hidden_frame' id="hidden_frame" style='display:none'></iframe>
    		</form>
    

     后台 action类中,

         

           'formData':{'getyearid':${getyearid},'statisform_obj_id':${getyearid?default(0)},'statistical_form_name3':'1','remark_name':'1','other_tagsname':'1','idStr':'1'},
    

     这里面涉及到的数据 get set 下就可以得到。

    下面解释下机制:

      因为我们用

         var statistical_form_name3 = $("#statistical_form_name3").val();

    不能在这中间写

    $(function () {
            $('#actpic').uploadify({

    所以选择写在onUploadStart方法函数里面,然后setting下,就成功把数据换上去。
    这样后台轻松的获得。

    至于这代码    ,版主我也觉得有点累。有些不必看的不用看。

    谢谢阅读,共同进步,一起分享,美好明天。

  • 相关阅读:
    动态规划之 0-1背包问题及改进
    动态规划之矩阵连乘
    python3 入门 (四) 类与继承
    动态规划之最长公共子序列(LCS)
    java并发包分析之———AQS框架
    java并发包分析之———BlockingQueue
    java并发包分析之———Deque和LinkedBlockingDeque
    java并发包分析之———concurrentHashMap
    java并发包分析之———ConcurrentSkipListMap
    java并发包分析之———Atomic类型
  • 原文地址:https://www.cnblogs.com/Alandre/p/3188853.html
Copyright © 2020-2023  润新知