我有一个简单的输入文件<input type="file" name="file" id="file">
但是我想在帖子后验证输入文件是否有内容。
我尝试$("#file").val()
,但控件的dom总是一样。
答案 0 :(得分:29)
你是什么意思:在帖子之后,你的意思是:
- 点击提交按钮但在发布或提交之前?
- 或者你的意思是在提交并且内容已经到达服务器之后?
如果是第一种情况,请确保将false返回到表单以便它不提交,并且您可以验证,例如:
<form onsubmit="return false">
或者在提交后调用验证函数后尝试向表单返回一个布尔值:
<form onsubmit="return validate()">
然后使用Jquery验证您的数据:
function validate(){
valid = true;
if($("#file").val() == ''){
// your validation error action
valid = false;
}
return valid //true or false
}
如果发现错误返回false,如果数据有效则返回true。 在了解它的工作原理之后,最终所有这些都可以通过Jquery完成:
HTML:
<form id="fileform" action="nextpage.php">
JS:
$('#fileform').submit(function(){
valid = true;
if($("#file").val() == ''){
// your error validation action
valid = false;
}
return valid
});
另外,如果您要查看提交的文件类型,可以查看此帖子:jQuery - INPUT type=File , Image FileType Validation options?
如果您要做的是验证数据 AFTER 提交,那么您必须使用PHP等服务器脚本语言对验证进行编码。
答案 1 :(得分:5)
尝试在表单提交后获取此值
$('#yourform').submit(function(){
var val = $("#file").val();
if(val == ''){
return false;
}
});
答案 2 :(得分:4)
尝试在帖子后验证
这将是您通过jQuery在客户端上执行的服务器端。如果您使用您正在使用的服务器端语言标记问题,我们可以为您提供所需的帮助。