我正在帮助一位 friend 准备考试。一个问题是创建不显眼的 JavaScript 来验证此 HTML 代码中的表单。似乎 if 语句从未在当前代码中输入。我究竟做错了什么?谢谢您的帮助。
最佳答案
使用 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/