我怎么知道我的输入类型=“文件”是否选择了内容

我有一个简单的输入文件但是我试图在post后validation输入文件是否有内容。

我尝试使用$("#file").val()但是,控件的dom始终是相同的。

你的意思是: 在post之后 ,你的意思是:

发布或提交之前点击提交按钮后

– 或者你的意思是它已经提交并且内容已经到达服务器了?

如果是第一种情况,请确保将false返回到表单,以便它不提交,并且您可以validation,例如:

 

或者在提交时调用validation函数后尝试向表单返回一个布尔值:

 

然后使用Jqueryvalidation您的数据:

 function validate(){ valid = true; if($("#file").val() == ''){ // your validation error action valid = false; } return valid //true or false } 

如果发现错误返回false,如果数据有效则返回true。 在了解它的工作原理之后,最终所有这些都可以通过Jquery完成:

HTML:

 

JS:

 $('#fileform').submit(function(){ valid = true; if($("#file").val() == ''){ // your error validation action valid = false; } return valid }); 

此外,如果您正在检查要提交的文件类型,可以查看以下post: jQuery – INPUT type = File,Image FileTypevalidation选项?

如果您想要做的是在提交后validation数据,那么您必须使用PHP等服务器脚本语言对validation进行编码。

尝试在表单提交后获取此值

 $('#yourform').submit(function(){ var val = $("#file").val(); if(val == ''){ return false; } }); 

试图在post后validation

这将是你在服务器端不通过jQuery在客户端做的事情。 如果您使用您正在使用的服务器端语言标记问题,我们可以为您提供所需的帮助。