$.ajaxFileUpload上传文件后,后台返回结果.如果再次按下按钮后,Filedata这个值就消失了. 只有IE11发生异常.其他浏览器没有问题.
- html
<div class="dialog-body">
<dl class="list-table list-table-input-text list-table-180">
<dt style="width:70px;">ファイル名<span style="color:red;">*</span></dt>
<dd>
<form enctype="multipart/form-data" id="replyUploadFile" name="replyupload_file">
<input type="file" id="replyBrowse" name="Filedata" style="display: none" accept="application/x-zip-compressed">
<input type="hidden" id="contentsDirUrl" name="contentsDirUrl" value="" />
<input type="hidden" id="courseNo" name="courseNo" value="<cfoutput>#ssoCourseNo#</cfoutput>" />
<input type="hidden" id="courseName" name="courseName" value="<cfoutput>#ssoCourseName#</cfoutput>" />
<input type="hidden" id="userID" name="userID" value="<cfoutput>#ssoUserID#</cfoutput>" />
<input type="hidden" id="courseTime" name="courseTime" value="<cfoutput>#ssoCourseTime#</cfoutput>" />
<input type="hidden" id="smartPhoneFlag" name="smartPhoneFlag" value="<cfoutput>#ssoMoileFlag#</cfoutput>" />
<input type="hidden" id="company" name="company" value="<cfoutput>#ssoCompany#</cfoutput>" />
<input type="hidden" id="memberCompany" name="memberCompany" value="1" />
<input type="text" id="replyFilename" style="width:200px;" readonly />
<button type="button" id="replySelectFileButton" class="btn" style="float:right;">ファイルの選択</button>
</form>
</dd>
<dt>ファイルサイズ</dt>
<dd id="replyFilesize" style="padding-top:6px;"></dd>
<dt></dt>
<dd></dd>
</dl>
</div>
- js
$.ajaxFileUpload({
type: 'POST',
url: getParentPath(3) + 'bin-debug/cfm/ssouploadTeachingMaterial.cfm',
data: {
contentsDirUrl: getParentPath(3) + 'bin-debug/contents',
scormVersion: '1.2',
smartPhoneFlag: smartPhoneFlag,
courseNo: courseNo,
userID: userID,
courseTime: courseTime,
memberCompany: 1,
company: company
},
cache: false,
fileElementId: 'replyBrowse',
secureuri: false,
scriptCharset: 'UTF-8',
dataType: 'json',
complete: function() {
var result = sessionCfc.getSessionSsoRunResult();
var msg = sessionCfc.getSessionSsoRunMsg();
if (result) {
successmessageDialog.open();
} else {
$("#error").text(msg);
errormessageDialog.open();
}
}
});
- 后台部分代码
<cftransaction>
<cftry>
<cflog text="form.Filedata:#form.Filedata# ; form.scormVersion: #form.scormVersion#" />
<cfif (StructKeyExists( form, "Filedata" ) AND form.Filedata NEQ "") AND (StructKeyExists( form, "scormVersion" ) AND form.scormVersion NEQ "") AND (StructKeyExists( form, "contentsDirUrl" ) AND form.contentsDirUrl NEQ "") AND (StructKeyExists( form, "smartPhoneFlag" ) AND form.smartPhoneFlag NEQ "")>
<cflog text="111111111111" />
<cfset smartPhoneCheck = form.smartPhoneFlag />
<!--- LMSの設定取得 --->
<cfquery name="queryGetLmsInfo" datasource="#application.DSN#">
SELECT *
FROM lms_info
</cfquery>
没有发现原因,改成其他方式实现