如何仅在填写表单的所有必填字段时更改提交表单按钮的值(JS)
How to change value of Submit form button only if all required fields of the form are filled in (JS)
我想使用 JAVA SCRIPT 将提交表单按钮的值更改为“正在加载...”,前提是表单中的所有必填字段都已填写。请帮忙。谢谢!!!
<form>
<div>
<input id="my-file" name="my-file" type="file" accept="image/png, image/gif, image/jpeg" required>
</div>
<div>
<input type="email" value="" name="my_email" required>
</div>
<div>
<input id="visible_submit" type="submit" value="Submit">
</div>
</form>
<script type="text/javascript">
var mySubmit = document.getElementById("visible_submit");
mySubmit.onclick = function addLoading() { document.getElementById("visible_submit").setAttribute("value", "Loading...");};
不要监听提交按钮上的 click
事件,而是监听表单上的 submit
事件。
使用checkValidity()
检查用户是否填写了所有必填字段,Event.preventDefault()
防止表单提交:
var mySubmit = document.getElementById("visible_submit");
const form = document.querySelector('form');
form.addEventListener('submit', function(e) {
if (form.checkValidity()) {
document.getElementById("visible_submit").value = "Loading...";
}
e.preventDefault();
})
<form>
<div>
<input id="my-file" name="my-file" type="file" accept="image/png, image/gif, image/jpeg" required>
</div>
<div>
<input type="email" value="" name="my_email" required>
</div>
<div>
<input id="visible_submit" type="submit" value="Submit">
</div>
</form>
我想使用 JAVA SCRIPT 将提交表单按钮的值更改为“正在加载...”,前提是表单中的所有必填字段都已填写。请帮忙。谢谢!!!
<form>
<div>
<input id="my-file" name="my-file" type="file" accept="image/png, image/gif, image/jpeg" required>
</div>
<div>
<input type="email" value="" name="my_email" required>
</div>
<div>
<input id="visible_submit" type="submit" value="Submit">
</div>
</form>
<script type="text/javascript">
var mySubmit = document.getElementById("visible_submit");
mySubmit.onclick = function addLoading() { document.getElementById("visible_submit").setAttribute("value", "Loading...");};
不要监听提交按钮上的 click
事件,而是监听表单上的 submit
事件。
使用checkValidity()
检查用户是否填写了所有必填字段,Event.preventDefault()
防止表单提交:
var mySubmit = document.getElementById("visible_submit");
const form = document.querySelector('form');
form.addEventListener('submit', function(e) {
if (form.checkValidity()) {
document.getElementById("visible_submit").value = "Loading...";
}
e.preventDefault();
})
<form>
<div>
<input id="my-file" name="my-file" type="file" accept="image/png, image/gif, image/jpeg" required>
</div>
<div>
<input type="email" value="" name="my_email" required>
</div>
<div>
<input id="visible_submit" type="submit" value="Submit">
</div>
</form>