如何使用Javascript/JQuery中止/阻止/停止af:inputFile上传文件?
我在这里看到了许多上传文件的解决方案,但它似乎不适合我的情况。以下是我尝试实现的场景:如何使用Javascript/JQuery中止/阻止/停止af:inputFile上传文件?,javascript,jquery,Javascript,Jquery,我在这里看到了许多上传文件的解决方案,但它似乎不适合我的情况。以下是我尝试实现的场景: 我想在用户选择他们想要上传的文件后检查文件的大小 在JS中,它将检查它是否大于(例如)100字节 如果是真的,我想阻止它上传文件,否则上传文件就可以了 文件大小验证很好,问题是,不知何故,我无法阻止af:inputFile在退出javascript验证后上载文件 请告诉我如何防止它从javascript/jQuery上传 这是我的密码: JS af:inputFile <af:inputFile
- 我想在用户选择他们想要上传的文件后检查文件的大小
- 在JS中,它将检查它是否大于(例如)100字节
- 如果是真的,我想阻止它上传文件,否则上传文件就可以了
<af:inputFile label="Upload" id="if1" autoSubmit="true"
styleClass="UploadFile" immediate="true"
valueChangeListener="#{fileBean.attachFile}">
</af:inputFile>
谢谢
Kevin如果条件不匹配,我建议重置
输入类型=文件
,如下所示:
$('.UploadFile input').on("change", function (e) {
if (this.files[0] != null) {
var fileSize = this.files[0].size;
if (fileSize > 100) {
alert("File too large!");
var control=$("#"+$(this).attr('id'));//get the id
control.replaceWith(control = control.clone().val(''));//replace with clone
return;
}
else {
alert("File ok");
}
}
});
还请注意,this.files[0].size
以
字节
。因此,根据您的验证,您将不允许上载大小超过100字节的文件
您好@Guruprasad,我在本地机器上尝试了这个,但在浏览器调试程序中遇到了一个“对象不支持属性或方法‘克隆’”的塞子抱歉。。我的错。。只需将
“#”+$(this.attr('id')
像var control=$(“#”+$(this.attr('id'))一样包装在$()
中代码>。。我已经更新了我的答案…谢谢!不知何故,它似乎接近解决我的问题,将做一点编辑,并希望它能在@GuruprasadSure.工作。。尽你最大的努力。。快乐编码…)
$('.UploadFile input').on("change", function (e) {
if (this.files[0] != null) {
var fileSize = this.files[0].size;
if (fileSize > 100) {
alert("File too large!");
var control=$("#"+$(this).attr('id'));//get the id
control.replaceWith(control = control.clone().val(''));//replace with clone
return;
}
else {
alert("File ok");
}
}
});