JavaScript表单验证

时间:2013-02-26 11:57:16

标签: javascript forms xhtml

我正在尝试创建表单提交,在提交表单之前,我想验证凭据。

到目前为止我都有这个

为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;
}

我遇到的问题是,它不会显示警告用户他/她提示空名。我正在尝试验证名称,之后我将为电子邮件地址和其他要添加的字段添加更多功能。请注意,稍后将使用此电子邮件将表单通过电子邮件发送到域。有人可以帮我解决这个问题吗?

由于

3 个答案:

答案 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,我可以推荐这个插件:

http://validval.frebsite.nl/

在我谈到这个之前,我尝试了一些验证插件:它有广泛的验证选项,并且在对话框上不太花哨;这意味着可以轻松自定义外观。