zoukankan      html  css  js  c++  java
  • 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下,就成功把数据换上去。
    这样后台轻松的获得。

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

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

  • 相关阅读:
    ExecuteScalar requires the command to have a transaction when the connection assigned to the command is in a pending
    如何从vss中分离程序
    String or binary data would be truncated
    the pop3 service failed to retrieve authentication type and cannot continue
    The POP3 service failed to start because
    IIS Error he system cannot find the file specified _找不到页面
    pku2575Jolly Jumpers
    pku2940Wine Trading in Gergovia
    pku3219二项式系数
    pku1029false coin
  • 原文地址:https://www.cnblogs.com/Alandre/p/3188853.html
Copyright © 2011-2022 走看看