javascript注册事件的调用

剑心 2003-08-15 08:14:11

另有一个问题出来了:
为页面上一个元素注册了一个事件
调用这个事件的时候无法收到传回的值请指教
eg. 页面中有如下元素<input type="text" name="cust_name" id="cust_name" />
注册程序如下:
document.all(cust_name).Isvalid=new Function("chkdata(this.value)");
所调用的程序如下:
chkdata(){
return false;

}
然后调用这个方法:

var tempIsvalid=document.all(cust_name).Isvalid();
但是却得到"没有定义"的消息。
若用typeof测试,可得到Isvalid为function类型。
若在chkdata中使用alert方法,也可以表现出来。
请大虾指教。
...全文
122 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
剑心 2003-08-16
  • 打赏
  • 举报
回复
To meizz(梅花雪):谢谢您的关注,感谢您的帮助和提示

剑心 2003-08-16
  • 打赏
  • 举报
回复
呵呵,昨天晚上我回家也在想这个问题,后来就想到可能是少了返回的语句在Isvalid()中,然后它就把注册事件当成sub而不是function了。

谢谢
meizz 2003-08-15
  • 打赏
  • 举报
回复
自定义的方法里要加入 return 返回你想要返回的值:
<input id="cust_name">

<input type=button value=ok onclick="mm()">

<SCRIPT LANGUAGE="JavaScript"><!--
function document.all.cust_name.Isvalid()
{
return chkdata();
}
function chkdata()
{
return false;
}
function mm()
{
var tempIsvalid = document.all.cust_name.Isvalid();
alert(tempIsvalid);
}
//--></SCRIPT>
剑心 2003-08-15
  • 打赏
  • 举报
回复
谢谢您的回复
我想得到的是Isvalid()返回的值
这个方法我也试验成功了
但是就是得不到他的值
总是提示"undefined "

meizz 2003-08-15
  • 打赏
  • 举报
回复
测试(IE6) 通过:
<input id="cust_name">

<input type=button value=ok onclick="document.all.cust_name.Isvalid()">

<SCRIPT LANGUAGE="JavaScript"><!--
function document.all.cust_name.Isvalid()
{
chkdata(this.value);
}
function chkdata(s)
{
alert(s);
}
//--></SCRIPT>

87,988

社区成员

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

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