1

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

到目前为止我都有这个

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

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

谢谢

4

3 回答 3

1

您的验证功能不正确,应该是:

function validation()
{  
    var vname = document.getElementById("name");

    if(nameValid(vname))
    {
        return true;
    }
    return false;
}

要访问表单元素值,请使用 document.getElementById("ElementID").value 或使用Jquery之类的 javascript 库

于 2013-02-26T12:10:08.947 回答
0

form添加名称=“注册”,然后检查。它会根据您的需要发出警报。

原因是document.registration.name,其中注册是表单名称,而不是 id。

于 2013-02-26T12:07:39.607 回答
0

如果您使用的是 jQuery,我可以推荐这个插件:

http://validval.frebsite.nl/

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

于 2013-02-26T12:22:27.567 回答