-5

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>
4

1 回答 1

0

undefined如果没有定义返回值,JavaScript 函数就会返回。编辑:对于您的第二个问题,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。

于 2013-10-20T21:28:24.123 回答