input类型为type="file"怎么实现非空校验
时间: 2023-07-06 10:39:17 浏览: 169
判断输入是否为空,获得输入类型的JS代码
对于 `input` 类型为 `type="file"` 的表单元素,一般使用 JavaScript 来实现非空校验。具体的实现方法如下:
1. 给 `input` 元素添加 `required` 属性,使其成为必填项。这样用户不选择文件时,提交表单时会提示用户必须选择文件。
2. 监听表单的 `submit` 事件,当用户提交表单时,校验 `input` 元素的值是否为空。如果为空,则阻止表单提交,并给出相应的提示信息。
示例代码如下:
```html
<form>
<label for="file-input">请选择文件:</label>
<input type="file" id="file-input" required>
<button type="submit">提交</button>
</form>
<script>
const form = document.querySelector('form');
const fileInput = document.querySelector('#file-input');
form.addEventListener('submit', (event) => {
if (fileInput.files.length === 0) { // 判断是否选择了文件
event.preventDefault(); // 阻止表单提交
alert('请选择文件!'); // 给出提示信息
}
});
</script>
```
在上面的示例代码中,我们首先通过 `querySelector` 方法获取了表单元素和文件选择框元素,然后使用 `addEventListener` 方法监听了表单的 `submit` 事件。当用户提交表单时,我们通过判断 `fileInput.files.length` 的值是否为 0 来判断用户是否选择了文件,如果没有选择文件,则阻止表单提交,并给出提示信息。
阅读全文