我有一个表格,它包含以下字段,
<form onsubmit="return checkcreateform()" action="/gallery/create" method="post" enctype="multipart/form-data">
<label>Type:*</label>
<label for="type-1">
<input type="radio" checked="checked" value="1" id="type-1" name="type">Image
</label>
<br>
<label for="type-2">
<input type="radio" value="2" id="type-2" name="type">Video
</label>
<label class="itemdetailfloatL required" for="file">File:*</label>
<input type="hidden" id="MAX_FILE_SIZE" value="8388608" name="MAX_FILE_SIZE">
<input type="file" tabindex="5" class="text-size text" id="file" name="file">
<input type="submit" value="Create" id="submit" name="submit">
</form>
字符串
我想在表单提交前验证。在这里,我如何验证用户是否选择类型为图像和上传视频或选择类型为视频和上传图像?
我们可以通过JavaScript或jquery来实现,有什么快速的方法来验证吗?
请在这方面帮助我。
7条答案
按热度按时间qij5mzcb1#
不使用
onsubmit
,而是使用jQuery的提交处理程序,并使用一些JavaScript进行验证,如下所示:个字符
在IE8、RockMelt(基于Chrome)和Firefox 7中测试:http://jsfiddle.net/Ngrbj/4/
9vw9lbht2#
每个文件类型都有一个“type”属性,例如:'image/jpeg','audio/mp3'等等...(这种文件类型格式称为“MIME类型”)
这是一个使用'match'方法检查文件类型的方法的示例:
字符串
match()
使用正则表达式(regex)工作;在这里看到一个解释:https://regexr.com/7hrs8你也可以用boolean的方式写:
型
1hdlvixo3#
提供的答案是可行的,但使用JavaScript数组函数,验证代码的行数会少得多,运行速度会更快:
字符串
然后,submit代码中的if语句被替换为:
型
d8tt03nd4#
在input:file上使用files属性,可以循环访问file对象并检查type属性
个字符
nle07wnf5#
如前所述,一个文件有一个类型属性。您可以将文件类型与支持的类型列表进行比较,如下所示:
字符串
ht4b089n6#
你可以试试这个:
字符串
您可以在
checkcreateform()
中使用此函数bksxznpy7#
首先,你应该像这样修改你的html:
字符串
然后,你需要一个这样的函数:
型