textarea 螺丝表单的 Javascript 表单验证错误消息

Posted

技术标签:

【中文标题】textarea 螺丝表单的 Javascript 表单验证错误消息【英文标题】:Javascript form validation error message for textarea screws form 【发布时间】:2012-05-15 23:00:02 【问题描述】:

好的,所以我正在用我在 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='';
    

它与我的其他消息相同,因此我不确定为什么它会导致表单错误消息仅显示一秒钟然后消失。 非常感谢任何帮助。

【问题讨论】:

【参考方案1】:

document.getElementByID 应该是:

document.getElementById('messageError')... //small d not capital D

【讨论】:

【参考方案2】:

您的表单由于提交而正在重置(在第二种情况下)。您在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='';

【讨论】:

以上是关于textarea 螺丝表单的 Javascript 表单验证错误消息的主要内容,如果未能解决你的问题,请参考以下文章

ExtJS中怎样获取Form表单中的每一项的值

Html textarea 在 jquery keypress 上不是最新的

JavaScript 实现textarea限制输入字数, 输入框字数实时统计更新,输入框实时字数计算移动端bug解决

JavaScript 学习-45.jQuery 表单选择器

js修改textarea

Textarea 调整大小 JS 脚本错误