好的,所以我正在用我在JavaScript中的一点知识做我课程的基本表单验证脚本我不是在寻找一个更复杂但更简短的方法来通过使用循环或类似的东西来执行我的验证,我是等待一本java书到了,现在我将学习更多内容,我只是在做一个基本的验证脚本。
我只是想知道为什么当我尝试显示textarea的错误消息时,表单会立即开始重置。
表单1有效 http://www.richie.id.au/TAFE/form/enquiry.html 表格2不起作用 http://www.richie.id.au/TAFE/form2/enquiry.html
这两者之间的唯一区别是这段代码会导致错误消息消失:
//Message message action if true of false
if(messageMessage==true){
document.getElementByID('messageError').innerHTML='*Please enter a message*';
}
if(messageMessage==false){
document.getElementByID('messageError').innerHTML='';
}
它与我的其他消息完全相同,所以我不确定为什么它会导致表单错误消息只显示一秒然后消失。 非常感谢任何帮助。
答案 0 :(得分:1)
document.getElementByID 应为:
document.getElementById('messageError')... //small d not capital D
答案 1 :(得分:1)
由于提交表单(第二种情况),您的表单正在重置。您在http://www.richie.id.au/TAFE/form2/clientSideValidator.js
中有错误输入:
if(messageMessage==true){
document.getElementByID('messageError').innerHTML='*Please enter a message*';
}
if(messageMessage==false){
document.getElementByID('messageError').innerHTML='';
}
替换为:
if(messageMessage==true){
document.getElementById('messageError').innerHTML="*Please enter a message*";
}
if(messageMessage==false){
document.getElementById('messageError').innerHTML='';
}