javascript函数验证无法正常工作

时间:2013-10-20 20:28:41

标签: javascript

http://jsfiddle.net/just4upvp/Gt8TY/1/

我是javascript的新手,我无法在代码中找到错误,validateForm正在运行,现在它无法运行。请帮忙。

 <script type="text/javascript">
    function validateForm() {
        if (document.enrollment.cfname.value == "") {
          errcfname.innerHTML = "Please enter firstname";
          return false;
          }
    }
    function validate(id,error) {
        var value = document.getElementById(id).value;
        var err = document.getElementById(error);
        if(!value) {
            err.innerHTML = "*required";
        } else {
            err.innerHTML = "*";
        }
    }
</script>





<form  name="enrollment" method="post" action="confirmation.php"   
       enctype="multipart/form-data" onsubmit="return (validateForm());"> 
<label for="cfname">First Name:</label>
<input type="text" id="cfname" name="cfname" size="20" maxlength="15" 
       autofocus="autofocus" required="required"
       onblur="validate(this.id,'errcfname')"/>
<span class="error1" id="errcfname">*</span>

1 个答案:

答案 0 :(得分:0)

如果未定义返回值,则JavaScript函数返回undefined。 编辑:对于你的第二个问题,getElementById在操作DOM时更加可靠。

更改您的validateForm()函数,如 -

function validateForm() {
    if (document.getElementById('cfname').value === '') {
      document.getElementById('errcfname').innerHTML = "Please enter firstname";
      return false;
    }
    return true;
}

参考 - http://javascript.crockford.com/survey.html

  

JavaScript没有void类型,因此每个函数都必须返回一个值。默认值是未定义的,但构造函数除外,其中默认返回值为this。