首页 新闻 搜索 专区 学院

使用javascript验证html表单提交数据,但是不能跳出提示框,求解答!

0
悬赏园豆:50 [已解决问题] 解决于 2017-02-08 12:54

在html表单随便出入信息,都不会出现页面提示框,请问这是什么原因造成的?(PS:html页面和JS在同一个目录下放着呢)

页面代码如下:

<!DOCTYPE HTML>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>1-37.html - 使用JavaScript验证HTML表单数据</title>

<script language="JavaScript" src="1-38.js">
</script>

</head>
<body>
<h1>使用JavaScript验证HTML表单提交数据</h1>
<br />
<br />
<form id="fdate" name="fdate" method="post" action="" onsubmit="return checkForm()">
<table width="476" height="154" border="1" align="center" cellpadding="1" cellspacing="0">
<tr>
<td width="254"><div align="right">请输入数字(长度小于10):</div></td>
<td width="212"><label>
<input type="text" name="num" />
</label></td>
</tr>
<tr>
<td><div align="right">请输入英文字母:</div></td>
<td><label>
<input type="text" name="al" />
</label></td>
</tr>
<tr>
<td><div align="right">请做选择:</div></td>
<td><label>
<select name="lan">
<option value="">请做选择</option>
<option value="english">英语</option>
<option value="french">法语</option>
<option value="panish">西班牙语</option>
</select>
</label></td>
</tr>
<tr>
<td height="38" colspan="2"><label>
<input type="submit" name="Submit" value="提交" />
</label></td>
</tr>
</table>
</form>
</body>
</html>

 

JS代码如下:

function checkForm()
{
if(document.fdate.num.value==""
|| document.fdate.al.value==""
|| document.fdate.lan.value==""
) //验证表单域是否有空值
{
alert("表单每一项都必须填写"); //提示信息
return false;
}

if(document.fdate.num.value!="")//如果num文本框有值
{
var s = document.fdate.num.value;//获取num文本框的值
if(s.lenght > 9)
{
alert("第1个文本框字符串长度要小于10!");
return false;
}
for(var loc=0;loc<s.lenght;loc++) //循环判断值是否为数字
{
if((s.charAt(loc)<'0')||(s.charAt(loc)>'9'))
{
alert("第1个文本框只能输入数字!");
return false;
}
}
}

if(document.fdate.al.value!="")
{
var t = document.fdate.al.value;
for(var loc=0;loc<t.lenght;loc++;)
{
if(((t.charAt(loc)<'a')||(t.charAt(loc)>'z'))&&((t.charAt(loc)<'A')||(t.charAt(loc)>'Z')))
{
alert("第2个文本框只能输入英文字母!");
return false;
}
}
}

var v = document.fdate.lan.value;

var str = "您的填写和选择为:\r\n"+s+"\r\n"+t+"\r\n"+v;
alert (str);
}

风口浪尖上的旁观者的主页 风口浪尖上的旁观者 | 初学一级 | 园豆:110
提问于:2017-02-07 18:48
< >
分享
最佳答案
0

js第35行多了一个;   去掉就可以了

收获园豆:50
tootwo2 | 小虾三级 |园豆:502 | 2017-02-07 22:13

感谢这位兄弟,检查的真仔细!

风口浪尖上的旁观者 | 园豆:110 (初学一级) | 2017-02-08 12:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册