[英]Required Attribute wont work on with addEventListener?
我的目标是将数据从表单传递到另一个元素。 我的代码在传递数据时有效,但是当表单为空并且用户尝试按下按钮时,即使我将属性放入每个表单输入, required
的属性也不起作用。 我想防止用户提交空数据。
这是一个示例代码
const passBtn = document.querySelector("#btnSubmit"); const inputEmail = document.querySelector("#inputEmail"); const recieveText = document.querySelector("#recieveText"); const getEmail = document.querySelector("#getEmail"); passBtn.addEventListener("click", function(e) { e.preventDefault(); getEmail.textContent = inputEmail.value; })
<form legend="Form"> <fieldset> <legend> MyForm </legend> <input id="inputEmail" type="email" placeholder="Email" required /> <button id="btnSubmit" type="submit"> Pass Text </button> </fieldset> </form> <div id="wrapper"> <p> Recieved Text Here </p> <div class="content-wrapper"> <span id="getEmail"> </span> </div> </div>
要触发表单验证,您需要收听表单提交事件,为此您可以将代码更改为:
const form = document.querySelector("#form");
const inputEmail = document.querySelector("#inputEmail");
const recieveText = document.querySelector("#recieveText");
const getEmail = document.querySelector("#getEmail");
form.addEventListener("submit",function(e){
e.preventDefault();
getEmail.textContent = inputEmail.value;
/* recieveText.value = inputEmail.value; */
})
而且你还需要有一个元素的名称属性:然后更新:
<input id="inputEmail" type="email" placeholder="Email" required />
至
<input id="inputEmail" type="email" name="inputEmail" placeholder="Email" required />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.