文件上传时jquery.form.js中提示form.submit 拒绝访问;
我使用的是ajax提交表单的方式
$(function(){
var url="sksbsg.action?sign=saveSg";
var options = {
url : url,
beforeSubmit : check,
success : showResponse,
dataType : "json",
resetForm : true,
error : showError,
};
$("#sqxxForm").ajaxForm(options);
});
<form id="sqxxForm" method="post" enctype="multipart/form-data">
<input type="file" class="uploadfile" id="qydjz" name="djzimage" οnchange="previewImagey(this)"/>
<input type="input" value="点击上传" class="upload" name="qyswdj" οnchange="previewImagey(this)"/>
<div class="skp_btn">
<input type="submit" value="结算" class="btn02" id="subtn"/> <!-- <input type="button" class="btn02" value="在线支付"><span class="back">返回</span> -->
</div>
</form>
以上代码在IE11、火狐下运行正常,但是IE9下提示form.submit()拒绝访问;
好郁闷啊
经过网上的一翻搜索
最后查资料说是IE下 file表单控件,不能用js控制打开文件选择器,必须要手动点击才可以,否则会报 “拒绝访问”。
所以,只能用按钮盖住file,但让点击事件透到file上面来打开文件选择器。
改为如下的代码:
<form id="sqxxForm" method="post" enctype="multipart/form-data">
<!--
<input type="file" class="uploadfile" id="qydjz" name="djzimage" οnchange="previewImagey(this)"/>
<input type="input" value="点击上传" class="upload" name="qyswdj" οnchange="previewImagey(this)"/>
-->
<input type="file" id="qydjz" name="djzimage" οnchange="previewImagey(this)"/>
<div class="skp_btn">
<input type="submit" value="结算" class="btn02" id="subtn"/> <!-- <input type="button" class="btn02" value="在线支付"><span class="back">返回</span> -->
</div>
</form>
一切正常了。