提问人:Nirakander 提问时间:8/11/2015 最后编辑:Jan TuroňNirakander 更新时间:8/11/2015 访问量:54
使用不显眼的 JavaScript 验证表单
Validating a form with unobtrusive JavaScript
问:
我正在帮助一个朋友为她的考试做准备。一个问题是创建不显眼的 javascript 来验证此 HTML 代码中的表单。似乎从未在此当前代码中输入 if 语句。我做错了什么?感谢您的帮助。
答:
3赞
Jan Turoň
8/11/2015
#1
使用(引号之间没有空格,两个等号 - 我不确定空值是否到处都是空字符串或未定义)。if(current.value == "")
由于输入值(如果提供)是字符串,并且除空字符串外的任何值都是 true,因此使用 .if(!current.value)
HTML5表单验证也值得考虑。
对于您的评论:span-element 被“删除”,因为您的表单已发送并且页面重新加载。为了防止这种情况,请将 catch 中,其中 是处理程序函数的事件参数。我还建议使用(替换旧的错误消息)而不是(添加新的错误消息)。在代码中:e.preventDefault()
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
评论
0赞
Nirakander
8/11/2015
谢谢你的提示。不过这是行不通的。问题似乎出在输入 catch 语句之后。该文本被附加到我的 span-element 中,但会立即删除。
0赞
Jan Turoň
8/11/2015
@KarinAndersson在我的回答中看到更新。谢谢你的小瑞典语课:-)
0赞
Nirakander
8/12/2015
非常感谢您的帮助!这解决了我的问题。:-)
评论