我有一个简单的输入文件<input type="file" name="file" id="file">
,但我试图在发布后验证输入文件是否有内容。
我尝试过,$("#file").val()
但是控件的域总是相同的。
你是什么意思:在帖子之后,你的意思是:
-在点击提交按钮之后但在发布或提交之前?
- 或者你的意思是在提交并且内容已经到达服务器之后?
如果是第一种情况,请确保向表单返回 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?
如果您要做的是在提交后验证数据,那么您必须使用 PHP 等服务器脚本语言对验证进行编码。
尝试像这样提交表单后获取值
$('#yourform').submit(function(){
var val = $("#file").val();
if(val == ''){
return false;
}
});
尝试在发布后进行验证
这将是您在服务器端而不是通过 jQuery 在客户端上执行的操作。如果您使用您使用的服务器端语言标记您的问题,我们可以为您提供所需的帮助。