为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript 表单验证只工作一次

Javascript 表单验证只工作一次

慕莱坞森 2023-06-15 16:04:15
脚本:NewsletterScript.jsfunction formValidation() {    var fname = document.getElementById('firstName').value;    var lname = document.getElementById('lastName').value;    var pnumber = document.getElementById('phoneNumber').value;    var email = document.getElementById('e-mail').value;  if (FirstName(fname)) {  }  if (LastName(lname)) {  }  if (Country(country)) {  }  if (Email(email)) {  }  return false;}/*first name input validation*/function FirstName(fname) {  var message = document.getElementsByClassName("error-message");  var letters = /^[A-Za-z]+$/;  if ( fname =="" || fname.match(letters)) {    text="";    message[0].innerHTML = text;    return true;  }  else {    text="First name should contain only letters";    message[0].innerHTML = text;    return false;  }}/*last name input validation*/function  LastName(lname) {  var message = document.getElementsByClassName("error-message");  var letters = /^[A-Za-z]+$/;  if ( lname =="" || lname.match(letters)) {    text="";    message[1].innerHTML = text;    return true;  }  else {    text="Last name should contain only letters";    message[1].innerHTML = text;    return false;  }}我试图让这个验证循环直到满足条件,目前这只工作一次,如果再次单击按钮,它会提交。下面的按钮。由于脚本太长,我无法上传所有脚本,但它刚刚获得了其他验证,例如电话号码等,我们将不胜感激,干杯!
查看完整描述

2 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

如果您想要的是仅当四个验证函数返回 true 时才formValidation()返回,您应该这样写,而不是放置空的 if 语句:true

return FirstName(fname) && LastName(lname) && Country(country) && Email(email);

formValidation()如果其中一个返回 false,这种方式将返回 false


查看完整回答
反对 回复 2023-06-15
?
狐的传说

TA贡献1804条经验 获得超3个赞

您应该考虑在提交按钮上使用form onsubmit代替。onclick

代替:

<input class="button" type="submit" value="Submit" name="submit" onClick="formValidation()" />

考虑使用表单提交并且不要忘记return关键字:

<form onsubmit="return formValidation();" > /* ... */ </form>

查看完整回答
反对 回复 2023-06-15
  • 2 回答
  • 0 关注
  • 124 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信