我试图在javascript中验证我的文本字段,但它没有警报功能;It’不起作用
I am trying to validate my textfield without alert function in javascript but it's not working
此函数用于验证。如果它是空的,它会打印一个错误,并在文本框旁边显示红色或绿色以及OK消息。
JavaScript
function validatebox()
{
var fn = document.geElementById("fn").value;
if (fn==null || fn=="")
{
document.geElementById("error_fn").innerHTML="please fill your first name";
document.geElementById("error_fn").style.color="red";
}
else
{
document.geElementById("error_fn").innerHTML="OK";
document.geElementById("error_fn").style.color="green";
}
我试图在文本框旁边显示错误消息,但它不起作用。
HTML
<form name="signup" action="singup_i" method="post">
First name:
<input type="text" id="fn" onblur="validatebox()" name="fn" size="15"/>
<label id="error_fn"></label>
<input type="submit" value="submit"> <input type="reset" value="reset">
</from>
三个问题:
-
它是
getElementById
(注意t
),而不是geElementById
。 -
您的函数中缺少结尾
}
。 -
表单的结束标签是
</from>
,而不是</form>
你的浏览器可能告诉你至少前两个:在所有现代浏览器中,都有一整套开发/调试工具。对于IE和Chrome(至少),只需按F12即可。对于其他人,请查看菜单。
修复这些问题,它就起作用了:Live Copy | Live Source
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>Example</title>
</head>
<body>
<form name="signup" action="singup_i" method="post">
First name:<input type="text" id="fn" onblur="validatebox()" name="fn" size="15"/>
<label id="error_fn"></label>
<input type="submit" value="submit"> <input type="reset" value="reset">
</from>
<script>
function validatebox() {
var fn = document.getElementById("fn").value;
if (fn == null || fn == "") {
document.getElementById("error_fn").innerHTML = "please fill your first name";
document.getElementById("error_fn").style.color = "red";
}
else {
document.getElementById("error_fn").innerHTML = "OK";
document.getElementById("error_fn").style.color = "green";
}
}
</script>
</body>
</html>
请注意,我已经重新格式化了函数代码,这样可以更容易地看到块(因此可以看到结束的}
)。
但是,我可以建议不要重复查找error_fn
,也不要使用label
元素来标记字段以外的内容吗:Live Copy|Live Source
<form name="signup" action="singup_i" method="post">
First name:<input type="text" id="fn" onblur="validatebox()" name="fn" size="15"/>
<span id="error_fn"></span>
<input type="submit" value="submit"> <input type="reset" value="reset">
</form>
<script>
function validatebox() {
var fn = document.getElementById("fn").value;
var err = document.getElementById("error_fn");
if (fn == null || fn == "") {
err.innerHTML = "please fill your first name";
err.style.color = "red";
}
else {
err.innerHTML = "OK";
err.style.color = "green";
}
}
</script>
最后,fn
永远不会是null
,因为文本字段的value
属性永远不会是null
;它总是一根绳子。字符串可能为空。在这种情况下,最简单的测试将是if (!fn) { /* missing */ } else { /* present */}
,它将测试fn
,看看它是null
、undefined
、0
、""
、false
还是NaN
(其中,它只能是""
,因为value
始终是字符串)。当然," "
(一个空间)会超过这个范围。
许多错误:
getElementbyId不是geElementbyId
表单不是来自
使用/
相关文章:
- Graphiti中是否有任何工具提示功能
- Jquery&有故障的功能
- 有没有一种方法可以修改在使用javascript的媒体功能的媒体查询下创建的样式
- 是否有将基于字符串的JSON转换为Mongoose Schema对象实例的本地功能
- 这个javascript代码有什么错误,它有将数字转换为单词的功能
- 这个图像加载功能有什么作用
- 是否有任何功能可以合并两个JSON数据集并替换旧信息?(节点.JS)
- 有一个功能可以将字符串很好地缩短为一个、两个或三个字母
- 是否有JS功能可以使Brightcove智能播放器视频开始播放
- 地理位置 api 中是否有任何功能,例如 是 地理位置允许 or 是 地理位置允许永远.
- 谷歌地图API v3:是否有任何功能可以检查坐标是否在省或国家/地区内
- 咕哝和吞咽困惑——在另一个有吞咽功能的项目中进行吞咽
- JavaScript初学者:在函数中编码单独的空格字符有什么功能区别
- 有一个功能不运行的麻烦
- 为什么Underscore.js有延迟功能
- 我怎么能有一个功能的原因,但在一个下拉菜单的第一个选项打开一个新的网页
- 如何在kendoPanelBar上有onclick功能
- 你可以检测设备是否有电话功能(例如,它可以打语音电话/短信)与JavaScript
- 在react中,componentDidMount和render分别有哪些功能
- Jquery:子菜单显示有悬停功能,但没有点击功能