JavaScript 表单验证

标签 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;
}

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

谢谢

最佳答案

您的验证函数不正确,应该是:

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

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

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

关于JavaScript 表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15088538/

相关文章:

html - 如何制作没有图像的渐变背景?

html - 垂直对齐跨越两行的元素的文本时出现问题

javascript - Animate Bootstrap 卡标题内容

javascript - 采用表单字段名称和值创建 JSON 架构

javascript - 使用全局标志,我无法检测到单词 'blue' 的多次出现?

javascript - Angular:Validators.email 如果为空则无效

javascript - FF 3.6 中不显示搜索字段文本?

css - 这种自动拉伸(stretch)的场景能否在索引XHTML/CSS中实现?

javascript - D3选择与进入

javascript - HTML 网站设计,链接在页面上打开较小的窗口