hidden的值改变时触发事件

wangzhouyu 2005-04-22 06:37:22
我有一个隐藏的表单域,当值改变的时候想触发事件,我用onchange不行,有其他方法不,请给出
...全文
1511 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangzhouyu 2005-04-25
  • 打赏
  • 举报
回复
onpropertychange可以了,是我一个地方写错了,谢谢天神
wangzhouyu 2005-04-25
  • 打赏
  • 举报
回复
onpropertychange我试了还是不行呀
gzwuyh 2005-04-22
  • 打赏
  • 举报
回复
不是说了!不可以用onchange用onpropertychange呀!
<form name=form1>
<input name="t1" type=hidden onpropertychange="check(this.value)">

</form>
<script language="javascript">
<!--
function check(id)
{
if(/^\D*$/.test(id))
{
alert("传的值只能是数字["+id+"]不是数字");
}
}
form1.t1.value="1";
form1.t1.value="A";


//-->
</script>
sfply 2005-04-22
  • 打赏
  • 举报
回复
既然一定要用onchange
为什么不用style="display:none"方式隐藏表单而非要用hidden不可呢?
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/input_hidden.asp?frame=true
msdn上都写明了hidden没有onchange事件的
wangzhouyu 2005-04-22
  • 打赏
  • 举报
回复
不好意思,我忘了说明了,改变我hidden值的代码是别人写的代码,不允许我去改动,我只是负责调用,下面是详细的说明:
我调用的是一个选择人员和部门的树,返回两个值分别是id号和该人所在部门+岗位+人名的字符串,而我这里只能选择人,因此要对返回来的id号进行判断,如果不对则提示,对的话就将字符串拆分成部门名、岗位名、人名分别显示。因此我用了两个hidden来保存id和字符串,可是什么时候进行id的判断了(选择人员和部门的树是非模式窗口)因此原来我考虑了用onchange。
gzwuyh 2005-04-22
  • 打赏
  • 举报
回复
如果是你需要onpropertychange就是值改变时执行的事件!
gzwuyh 2005-04-22
  • 打赏
  • 举报
回复
看看吧!
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>测试页</title>
</head>

<body>
<form name=form1>
<input name="t1" onpropertychange="check()">
<input name="t2" type=hidden >
<input value="确定" type=button onclick="cc()">
</form>
<script language="javascript">
<!--
function cc()
{
form1.t2.value="dd"

}
function check()
{
alert('ok')
}
//-->
</script></body>

</html>


************************************************************************************



<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>测试页</title>
</head>

<body>
<form name=form1>
<input name="t1" onpropertychange="check()">
<input name="t2" type=hidden onpropertychange="check()">
<input value="确定" type=button onclick="cc()">
</form>
<script language="javascript">
<!--
function cc()
{
form1.t2.value="dd"
check(); //为什么不在这里执行check()而要在t2中的改变值时执行?
}
function check()
{
alert('ok')
}
//-->
</script></body>

</html>
gzwuyh 2005-04-22
  • 打赏
  • 举报
回复
你的隐藏的表单域的值会改变吗?一般都是通过脚本(js或vbs)来改变吧,在改变的时候怎么不在js或vbs的后面加上要执行的事件呢?

87,921

社区成员

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

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