如何循环判断多个输入框的内容是否合法?

kk706 2008-05-27 10:56:20
都是判断日期合法的,要求输入内容必须为日期格式,如:2008-05-27

html部分代码如下:
<table>
<tr>
<td>生日:</td>
<td><input type="text" name="textfield" /></td>
</tr>
<tr>
<td>注册日期:</td>
<td>><input type="text" name="textfield" /></td>
</tr>
<tr>
<td>最后登录日期:</td>
<td>><input type="text" name="textfield" /></td>
</tr>
</table>
点击一个button按钮,判断3个输入框内容是否为日期。如果不是,则弹出提示。例如生气不对,则提示内容格式为“生日日期格式错误”。
三个对话框做循环判断。

请问如何做?谢谢!
...全文
166 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
王集鹄 2008-05-27
  • 打赏
  • 举报
回复
本来想用“tr.getElementsByTagName('td')”。。。发现ff不兼容。。。
王集鹄 2008-05-27
  • 打赏
  • 举报
回复
呵呵,到处混点分。。。[img=http://p.blog.csdn.net/images/p_blog_csdn_net/zswang/%E6%82%84%E6%82%84%E8%AF%9D.gif]图[/img]

<table>
<tr>
<td>生日: </td>
<td> <input type="text" name="textfield" alt="生日"/> </td>
</tr>
<tr>
<td>注册日期: </td>
<td> <input type="text" name="textfield" alt="注册日期"/> </td>
</tr>
<tr>
<td>最后登录日期: </td>
<td> <input type="text" name="textfield" alt="最后登录日期"/> </td>
</tr>
</table>
<script language="javascript">
function btnClick()
{
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++)
{
if (inputs[i].type == "text" && inputs[i].name == "textfield")
{
if (inputs[i].value == "")
{
alert(inputs[i].alt)
}
}
}
}
</script>
<input type="button" onclick="btnClick();">
kk706 2008-05-27
  • 打赏
  • 举报
回复
多谢伴水清洁工。
还有一个问题请教,咋把前面的“生日","注册日期",也加入到提示信息里?

顺便说一句,你会的可真多。.Net那也常见你。。。。。。。。,还总回答windows程序开发的。。。。。
王集鹄 2008-05-27
  • 打赏
  • 举报
回复
<table>
<tr>
<td>生日: </td>
<td> <input type="text" name="textfield" /> </td>
</tr>
<tr>
<td>注册日期: </td>
<td> <input type="text" name="textfield" /> </td>
</tr>
<tr>
<td>最后登录日期: </td>
<td> <input type="text" name="textfield" /> </td>
</tr>
</table>
<script language="javascript">
function btnClick()
{
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++)
{
if (inputs[i].type == "text" && inputs[i].name == "textfield")
{
alert(inputs[i].value);
}
}
}
</script>
<input type="button" onclick="btnClick();">
kk706 2008-05-27
  • 打赏
  • 举报
回复
还有别的页面呢,有13个输入框要判断。。。。。。。。。。
joegu 2008-05-27
  • 打赏
  • 举报
回复
不用循环阿,就3个控件,一个个判断就好了呀
kk706 2008-05-27
  • 打赏
  • 举报
回复
谢谢楼上,正则已经有了,就是不知道咋写循环提取value。刚接触js。
joegu 2008-05-27
  • 打赏
  • 举报
回复
其实最好的是用日历控件,就免去了验证日期。
joegu 2008-05-27
  • 打赏
  • 举报
回复
用正则似乎是好选择。
kk706 2008-05-27
  • 打赏
  • 举报
回复
自己顶顶~~~~~~~~~~
pantera_650 2008-05-27
  • 打赏
  • 举报
回复

<table>
<tr>
<td>生日: </td>
<td> <input type="text" name="textfield" /> </td>
</tr>
<tr>
<td>注册日期: </td>
<td> <input type="text" name="textfield" /> </td>
</tr>
<tr>
<td>最后登录日期: </td>
<td> <input type="text" name="textfield" /> </td>
</tr>
</table>
<div id='result'></div>
<script language="javascript">
function btnClick()
{
var exstr = /^(?:19[0-9]{2}|20[0-9]{2})\-(?:0?[1-9]|1[0-2])\-(?:0?[1-9]|[1-2][0-9]|3[0-1])$/;
var ex = new RegExp(exstr);
var tdstr = document.getElementsByTagName("td");
var inputs = document.getElementsByTagName("input");
var ttext = '';
for (var i = 0; i < inputs.length; i++)
{
if (inputs[i].type == "text" && inputs[i].name == "textfield")
{
if(!ex.test(inputs[i].value)){
ttext = ttext + '\n' + tdstr[i*2].innerText.replace(/(?::|\s)/,"") + '不正确';
}
}
}
document.getElementById('result').innerText = ttext;
}
</script>
<input type="button" onclick="btnClick();" value="验证日期">

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧