javascript - 使用不显眼的 JavaScript 验证表单

标签 javascript dom unobtrusive-javascript

我正在帮助一位 friend 准备考试。一个问题是创建不显眼的 JavaScript 来验证此 HTML 代码中的表单。似乎 if 语句从未在当前代码中输入。我究竟做错了什么?谢谢您的帮助。

这是代码的 git:https://github.com/Nirakander/Validate-form

最佳答案

使用 if(current.value == "") (引号之间没有空格,两个等号 - 我不确定空值是否到处都是空字符串或未定义)。

由于输入值(如果提供)是字符串,并且除空字符串之外的任何值都是 true,因此使用 if(!current.value) 也很方便。

也值得考虑HTML5 form validation .

对于您的评论:span-元素被“删除”,因为您的表单已发送并且页面重新加载。要防止这种情况,请将 e.preventDefault() 放在 catch 中,其中 e 是处理函数的事件参数。我还建议使用 innerText (替换旧的错误消息)而不是 appendChild (添加新的错误消息)。在代码中:

function validateForm(e) { // event parameter
  try {
    ...
  }
  catch(oError){
    var errorRef = document.getElementById("errMsg");
    errorRef.innerText= oError; // innerText instead of appendChild
    e.preventDefault(); // this prevents form from sending
    // return false; // this is useful only in onsubmit content attribute; useless here
  }
}

我还建议对您的 git 存储库进行更改:fork

关于javascript - 使用不显眼的 JavaScript 验证表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31924341/

相关文章:

javascript - Safari iOS 中的 VoiceOver - 隐藏的元素仍然可以听到

javascript - 添加 html 元素的简单用户脚本

javascript - 如何在 textContent 中附加 CSS 类?

javascript - 有什么方法可以阻止默认事件然后用 jQuery 再次触发它吗?

javascript - 按 ctrl+s 后使 TinyMCE+JEditable 提交

javascript - 聚合日志并稍后写入文件,而无需直接写入文件

java - 解析 XML 中存在的垂直制表符编码字符

javascript - Ajax 调用后执行不显眼的 Javascript

javascript - 在 rails 3 中做 $(document).ready(.....) 的不显眼的方式

ruby-on-rails - 在 Rails 3.1 中使用不显眼的 Javascript(数据远程)的 Coffeescript 和 Haml