我正在尝试创建表单提交,在提交表单之前,我想验证凭据。
到目前为止我都有这个
为XHTML格式化的HTML
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title> Registration Form</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<meta name="description" content="This is a form submission with validation"/>
<script type="text/javascript" src="validScript.js"></script>
</head>
<body>
<h1>Registration Form</h1>
<form id="registration" action="" onsubmit="return validation();" method="post" enctype="text/plain">
<p>Name: <input type="text" name="name" id="name"/></p>
<p class="error">Email Address: <input type="text" name="emailAddress" id="emailAddress"/></p>
<p><input type="submit" name="submit" value="Submit"/></p>
</form>
</body>
</html>
JavaScript的:
function validation()
{
var vname = document.registration.name;
if(nameValid(vname))
{
return true;
}
return false;
}
function nameValid(vname)
{
var name_len = vname.value.length;
if (name_len == 0)
{
alert("Name is required");
vname.focus();
return false;
}
return true;
}
我遇到的问题是,它不会显示警告用户他/她提示空名。我正在尝试验证名称,之后我将为电子邮件地址和其他要添加的字段添加更多功能。请注意,稍后将使用此电子邮件将表单通过电子邮件发送到域。有人可以帮我解决这个问题吗?
由于
答案 0 :(得分:1)
你的验证功能不正确,应该是:
function validation()
{
var vname = document.getElementById("name");
if(nameValid(vname))
{
return true;
}
return false;
}
对于访问表单元素值,使用document.getElementById(“ElementID”)。value或使用像Jquery这样的javascript库
答案 1 :(得分:0)
在form
添加名称=“注册”,然后检查。
它会根据你的需要发出警报。
,原因是document.registration.name
,其中注册是表单名称,而不是id。
答案 2 :(得分:0)
如果您正在使用jQuery,我可以推荐这个插件:
在我谈到这个之前,我尝试了一些验证插件:它有广泛的验证选项,并且在对话框上不太花哨;这意味着可以轻松自定义外观。