使用不显眼的JavaScript验证表单

时间:2015-08-10 16:11:54

标签: javascript dom unobtrusive-javascript

我正在帮朋友学习她的考试。一个问题是创建不显眼的javascript来验证此HTML代码中的表单。似乎永远不会在当前代码中输入if语句。我究竟做错了什么?谢谢您的帮助。

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

1 个答案:

答案 0 :(得分:2)

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

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

还值得考虑HTML5 form validation

发表评论:span-element被"删除"因为您的表单已发送并且页面重新加载。要阻止它,请将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