脚本: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

狐的传说
TA贡献1804条经验 获得超3个赞
您应该考虑在提交按钮上使用form
onsubmit
代替。onclick
代替:
<input class="button" type="submit" value="Submit" name="submit" onClick="formValidation()" />
考虑使用表单提交并且不要忘记return
关键字:
<form onsubmit="return formValidation();" > /* ... */ </form>
添加回答
举报
0/150
提交
取消