Javascript表单验证未运行
无法让此表单运行javascript验证。我曾尝试在表单中将onclick更改为onsubmit,但从未让它运行脚本。对不起,如果这是一个明显的错误,但我已经在网上搜索了一段时间了。谢谢Javascript表单验证未运行,javascript,Javascript,无法让此表单运行javascript验证。我曾尝试在表单中将onclick更改为onsubmit,但从未让它运行脚本。对不起,如果这是一个明显的错误,但我已经在网上搜索了一段时间了。谢谢 <html> <head> <title>Email Form Page</title> <link href="mycss.css" rel="stylesheet"> <scrip
<html>
<head>
<title>Email Form Page</title>
<link href="mycss.css" rel="stylesheet">
<script type="text/javascript">
function validator(){
var firstname = document.getElementsById('fname').value;
var lastname = document.getElementsById('lname').value;
var email = document.getElementsById('email').value;
var subject = document.getElementsById('subject').value;
var message = document.getElementsById('message').value;
var errors = "";
regex1 = /^[a-z]+$/;
regex2 = /^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$/;
// Checks to see if all fields have been filled in
if (firstname == ""){
errors += 'First name field is empty \n';
}
if (lastname == ""){
errors += 'Last name field is empty \n';
}
if (email == ""){
errors += 'Your Email field is empty \n';
}
if (subject == ""){
errors += 'Subject field is empty \n';
}
if (message == ""){
errors += 'Message field is empty \n';
}
// Checks if first name contains only letters
if (regex1.text(firstname)) == false {
errors += 'First name can not contain numbers \n';
}
// Checks if last name contains only leters
if (regex1.text(lastname)) == false {
errors += 'Last name can not contain numbers \n';
}
// checks to see if email is valid
if (regex2.text(email) == true) {
errors += 'Email was not valid \n';
}
//alerts errors and kills form
if (errors != ""){
alert(errors);
return false;
}
</script>
</head>
<body>
<h1> Send me an Email </h1>
<div class= "container">
<form name="emailform" method="post">
First Name: <input type='text' name ='firstname' id="fname"> <br>
Last Name: <input type='text' name ='lastname' id="lname"> <br>
Your Email: <input type='text' name ='email' id ="email"> <br>
Subject: <input type='text' name='subject' id ="subject"> <br>
Message: <textarea rows='6' cols='30' name='message' id="messsage"> </textarea> <br>
<input type='submit' value ='Send' name='submit' onclick= "validator()">
</form>
</div>
</body>
</html>
电子邮件表单页
函数验证器(){
var firstname=document.getElementsById('fname').value;
var lastname=document.getElementsById('lname').value;
var email=document.getElementsById('email').value;
var subject=document.getElementsById('subject').value;
var message=document.getElementsById('message').value;
var误差=”;
regex1=/^[a-z]+$/;
regex2=/^\w+@[a-zA-Z\+?\[a-zA-Z]{2,3}$/;
//检查是否已填写所有字段
如果(firstname==“”){
错误+='名字字段为空\n';
}
如果(lastname==“”){
错误+='姓氏字段为空\n';
}
如果(电子邮件==“”){
错误+='您的电子邮件字段为空\n';
}
如果(主题==“”){
错误+='主题字段为空\n';
}
如果(消息==“”){
错误+='消息字段为空\n';
}
//检查名字是否只包含字母
if(regex1.text(firstname))==false{
错误+='名字不能包含数字\n';
}
//检查姓氏是否只包含删除者
if(regex1.text(lastname))==false{
错误+='姓氏不能包含数字\n';
}
//检查电子邮件是否有效
if(regex2.text(email)==true){
错误+='电子邮件无效\n';
}
//警告错误并终止表单
如果(错误!=“”){
警报(错误);
返回false;
}
给我发封电子邮件
名字:
姓氏:
您的电子邮件:
主题:
信息:
某些if语句中存在语法错误
e、 g
应该是
if (regex1.text(firstname) == false) {
errors += 'First name can not contain numbers \n';
}
其他一些错误
- 使用document.getElementsById-这应该是getElementById,因为只有一个元素具有此id
- Message textarea的id为“Message”而不是“Message”
- 正如帕特里克在评论中所说,应该有一个测试而不是文本方法
如果(regex1.text(firstname))==false
无效,也没有。RegExp对象上的text
方法是否意味着。测试
。您应该在浏览器的开发人员工具控制台上收到错误消息
if (regex1.text(firstname) == false) {
errors += 'First name can not contain numbers \n';
}