2013-10-20 39 views
-5

http://jsfiddle.net/just4upvp/Gt8TY/1/javascript函数验证工作不

我是新来的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> 
+2

http://www.webmonkey.com/2010/02/javascript_debugging_for_beginners/ –

+0

的onblur作品,但validateForm不工作 – user2769614

+0

@Sergio是小提琴作品,但它不工作我的网页上。 – user2769614

回答

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。

+0

改变了它,但仍然有问题。 – user2769614

+0

请让我们知道你正在得到什么错误。 –

+0

如果firstname为空,则应显示'请输入firtname'。但它不起作用。 – user2769614