javascript - 隐藏提交按钮,直到通过纯 JavaScript 选择文件
问题描述
我只想在选择文件后显示提交按钮。我可以用 jQuery 做到这一点,但我没有在页面的任何部分使用 jQuery,所以为了避免一些空格,我需要通过纯 JavaScript 来完成。
<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="uploadfile" id="pimage"/>
<input type="submit" name="submit" value="Confirm">
</form>
解决方案
const form = document.querySelector('form');
const submitButton = form.querySelector('[type="submit"]');
const inputFile = form.querySelector('[type="file"]');
inputFile.addEventListener('change', () => {
submitButton.style.display = inputFile.files.length ? '' : 'none';
});
<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="uploadfile" id="pimage"/>
<input type="submit" name="submit" value="Confirm" style="display: none">
</form>
推荐阅读
- csv - 将 csv 文件从云存储批量加载到 bigquery
- python - 在 SQL 中通过 rowid 获取值
- amazon-web-services - 使用压缩负载调用 AWS Lambda 以低于 6M 请求限制
- angular - 悬停工具提示时,Angular Swimlane ngx-chart,nativeElement 错误
- java - Mockito 没有从具有多个“何时”条件的模拟方法返回正确的结果
- python - 如何在 Torch 中训练一系列模型?
- api - 将空手道功能文件与 jmeter 集成以进行负载测试
- reactjs - 无法启动 React 简单应用程序我得到错误:元素类型无效:预期为字符串
- python - 在我的代码中,我想添加我的密码数字 + 字符串,例如 1234xyz
- amazon-web-services - 没有 NAT 的私有 VPC 中的 Elastic Beanstalk 应用程序