这种情况下该如何验证?

shuaiwang_01 2012-01-04 07:01:30

<logic:notEmpty name="adminInfoForm" property="notVerifiedProductionList">
<logic:iterate id="production" name="adminInfoForm" property="notVerifiedProductionList" indexId="index">
<bean:write name="production" property="title"/>
<bean:write name="production" property="authors"/>
<bean:write name="production" property="time" format="yyyy-MM-dd"/>
<bean:write name="production" property="place"/>
<html:form action="/adminInfo" method="post" enctype="multipart/form-data" onsubmit="javascript:return check();">
<html:hidden property="method" value="uploadFile"/>
<input type="hidden" name="productionId" value="<bean:write name='production' property='id'/>"/>
上传文件:<html:file property="myFile"></html:file>
<input type="submit" value="上传"/>
</html:form>
</logic:iterate>
</logic:notEmpty>

在这个<html:form/>里面有个<html:file/>为了验证必须上传pdf文件,我写了下面一段Javascript

function check(){
var len = document.all.myFile.value.length;
var str = document.all.myFile.value;
var xx = str.substr(str.lastIndexOf("."),len);
if(xx == ".pdf"){
return true;
}
else{
alert("必须上传PDF格式文件");
return false ;
}
}


由于JSP页面中有logic:iterate,它会列出需要上传文件的所有框框,因而会有好多个<html:file property="myFile"/>,因而上面的JS验证就不能生效了,因为有好多个myFile,名字都一样,我想问的是该如何验证myFile必须为pdf格式?

(这里不能采纳多个同时上传的方法,因为每个pdf文件对应相对应的对象)
...全文
68 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
任第一 2012-01-04
  • 打赏
  • 举报
回复
这个问题这样子的:我觉的应该用Jquery的插件的。jquery.validate.min.js

var attribute = {
rules: {
"upload":{
required: true,
accept:"png|jpe?g|gif|bmp|docx?|xlsx?|zip|txt|rar|tar|pdf"
}
},
messages: {
"upload":{
required: "请选择需要上传的附件!",
accept:"文件类型为:png/jpg/jpeg/bmp/doc/docx/xls/xlsx/txt/pdf/zip/rar/tar"
}
},
errorPlacement: function(error, element) {
if (element.next().size()==0) {
error.appendTo(element.parent());
} else {
error.appendTo(element.next());
}
},
ylovep 2012-01-04
  • 打赏
  • 举报
回复
需要验证什么啊 楼主是要验证文件是否是指定的后缀?
为什么不在类里面写?
qq26867224 2012-01-04
  • 打赏
  • 举报
回复
好吧 ,我画蛇添足了、
var a = document.getElementById("起的id名").value;

qq26867224 2012-01-04
  • 打赏
  • 举报
回复
我的想法:
先给上传文件框设置一个id属性 起个名、

var a = document.getElementById("起的id名").value;

可以用js获取控件id属性来取到控件里的值、
控件在丢失焦点时候调用该js方法、
顺便说一句 如果要是windows系统的话、格式是有大写的 .PDF

MiceRice 2012-01-04
  • 打赏
  • 举报
回复
document.getElementsByName("控件名称");

然后返回一个数组,直接用循环搞数组吧。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧