我必须验证电子邮件和电话。两者都不是强制性的,仅一个就足够了。 当我单击我的按钮时,代码错误是未定义handleValidation,但我不为什么。甚至控制台也不会打印console.log。
此处是HTML:
mainloop
这里是JS:
...
...
...
TitleLabel.pack()
GameLabel.pack()
ClickingGameButton.pack()
main.mainloop()
答案 0 :(得分:1)
如果您纠正了所有这些问题,您的脚本应如下所示:
const emailVal = () => {
let email = document.querySelector("#email").value;
if (!(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test(email))) {
console.log("bad email")
return false;
}
console.log("good")
return true;
}
const telVal = () => {
let tel = document.querySelector("#phone").value;
if (!(/^\d{9}$/.test(tel))) {
console.log("bad tel")
return false;
}
console.log("good");
return true;
}
const handleValidation = () => {
if (emailVal() || telVal()) {
alert("tu consulta fue enviada satisfactoriamente");
} else {
alert("el email y/o el teléfono son necesarios para contactarte");
}
}
document.getElementById('send-btn').addEventListener('click', handleValidation);
当然,您还必须删除按钮的onclick属性。 电子邮件验证正则表达式的来源:https://www.w3resource.com/javascript/form/email-validation.php
答案 1 :(得分:0)
我在jsfiddle中检查了您的代码。我收到的时间很长,“电子邮件是您的电话,还是联系我们”。因此,代码在某些方面是正确的。我建议在html之后添加JSSript,反之亦然。我一直都在混。