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>
答案 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。