使用外部JavaScript进行html表单验证

时间:2011-12-28 00:40:16

标签: javascript html

我正在尝试使用外部JavaScript验证我的html表单,但是我收到了一个错误。以下是代码详细信息:

<html>
    <head>
        <title>Contact US</title>
        <link href="StyleSheet.css" rel="Stylesheet" type="text/css" />
        <script type = "text/javascript" src = "JavaScript.js"> </script>
    </head>
    <body>
    <h1>Contact Us</h1>
    <form id = "contactUs" action="Index.htm"  onsubmit = "return validateFirstName()">
    <div class="row">
                <span class = "label" >First Name:</span>
                <span class = "formw"><input type="text" name = "fname"/> </span>
     <span class = "formw"><input type="submit"  name = "btnSubmit" value = "Submit" /> </span>
    </div>
</form>
</body>
</html>

我的外部javascript文件“JavaScript.js”包含以下代码:

  function validateFirstName() {
        var x = document.forms["contactUs"]["fname"].value;
        if (x == null || x == "") {
            alert("First name cannot be left blank.");
            return false;
        }
        else {
            return true;
        }

但是当我点击“提交”按钮时,我收到以下错误:

行:19 错误:'validateFirstName'未定义

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

你的功能需要一个结束大括号。

function validateFirstName() {
    var x = document.forms["contactUs"]["fname"].value;
    if (x == null || x == "") {
        alert("First name cannot be left blank.");
        return false;
    }
    else {
        return true;
    }
} // <- here

答案 1 :(得分:1)

这是我写的代码,用于检查插入的电子邮件是否有效。您可以根据自己的需要进行自定义,可能有用:)

  function readdata()
  {
        a=document.getElementById('email')
        k=a.value
        //document.write(k)
alert(k);
        }

    function emailValidation(elem, helperMsg) {
            var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
            if(elem.value.match(emailExp)){
                            return true;
                            }
                            else{
                            alert(helperMsg);
                            elem.focus();
                            return false;
                            }
    }

另外看一下你的代码,你在JavaScript结尾处缺少大括号