html - 使用 HTML,如何知道所有必需的输入是否不为空,以便我可以启用提交按钮?
问题描述
我有一个表单,如果不为空,我需要检查所有必需的输入,以便我可以启用提交按钮。
<form id="inquiry-component-form" method="post">
<input id="inquiry-media-outlet" type="text" name="media_outlet" required>
<input id="inquiry-name" class="form-control" type="text" name="name" required>
<button id="submit-inquiry-form" disabled type="submit">Submit</button>
</form>
我试图用 jQuery 做到这一点,问题是这是不可能的,因为 Liquid/Jekyll 代码在构建时运行。所以我需要知道一种用 HTML 来做到这一点的方法。
关于如何实现我需要的任何想法?
解决方案
你不能只用HTML 做到这一点,但你可以用 CSS。
input[type=text]:not(:valid) ~ button[type=submit] {
pointer-events: none; /* Disables mouse pointer interactions */
/* Styles to make it look like it's disabled */
opacity: 0.6;
}
<form id="inquiry-component-form" method="post">
<input id="inquiry-media-outlet" type="text" name="media_outlet" required>
<input id="inquiry-name" class="form-control" type="text" name="name" required>
<button id="submit-inquiry-form" type="submit">Submit</button>
</form>
解释:
input[type=text]:not(:valid) ~ button[type=submit]
- 选择类型为无效 ( ) 输入submit
的兄弟类型的按钮。:not(:valid)
text
tabindex="-1"
如果您想防止跳格和输入,您还必须添加到按钮。
推荐阅读
- amazon-web-services - 根据路径将 URL 从云端重定向到 API 网关
- sql - 根据条件选择每个 ID 的单个日期
- python - 使用 sympy 进行区分的问题
- vue.js - vue js中的d3可缩放圆形包装
- java - 越南语字符未保存在 Mysql 中
- xamarin.forms - 使用移动应用程序中的 Kestrel 连接到 Netcore 3.1 localhost rest api 时 Xamarin 连接被拒绝
- sql-server - NOT IN 过滤掉 NULL 值
- python - 在这里对熊猫数据框应用掩码时应该使用 any() 吗?如果是这样,怎么办?
- ios - 如何在 UITextView 特定行的末尾插入换行符
- python - 如何在 pyalgotrade 数据系列的数据中获得昨天调整后的收盘价?