Firefox中事件处理

阅读:6789回复:8
2006-09-05 15:04
写私信
楼主#
网站制作当中我遇到一个问题。  
需要将页面<form></form>中的信息提交。触发事件用onclick,在IE中一切正常    ,可是在Firefox中,始终不能触发onclick事件   。

 
代码示例:

onclick="Edit(test)

function Edit(CardType)
{
frm.action="Edit.aspx?CardType=" + CardType;
frm.submit();
}

  请指教,谢谢各位
2006-09-05 15:04
写私信
1楼#
怎么有人看,没有人回呢!

是没人知道,还是,不屑一回呢,哎!
2006-09-05 15:04
写私信
2楼#
W3C的做法应该是用 addEventListener('click', myfunction, false)

http://www.scottandrew.com/weblog/articles/cbs-events
这里有一个详细介绍的文章

这里有的人比较偏执,看见你Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)可能就不愿意回了      
Firefox是一个能够随需而变的软件。它的功能取决于你的意志。
2006-09-05 15:04
写私信
3楼#
对呀,如果我会的话,我也会先要求LZ用FireFox再发一次贴子,然后再回答问题
Blogger
Give Up GitHub!

欢迎使用 Areditors

sntp -P no -r 210.72.145.44
2006-09-05 15:04
写私信
4楼#
opentiss:对呀,如果我会的话,我也会先要求LZ用FireFox再发一次贴子,然后再回答问题 回到原帖


能不能给我举个实际的例子啊  

我快晕死了。
2006-09-05 15:04
写私信
5楼#
或许不是 onclick 的问题
把整个代码段贴出来看看
2006-09-05 15:04
写私信
6楼#
Triton:或许不是 onclick 的问题
把整个代码段贴出来看看
回到原帖


   你说的没错,不是onclick的问题。onclick正常。

问题出在这里
原来的代码是这样的:
function fun(Type)
{
     frm.action = "sss.aspx?Type" + Type;
     frm.submit();
}

更改后的代码是这样的:
function fun(Type)
{
     document.frm.action = "sss.aspx?Type" + Type;
     document.frm.submit();
}


加了document后,在IE ,Firefox ,Opera中提交frm都正常了。
2006-09-05 15:04
写私信
7楼#
frm 是 name 属性的值?
用 name 同样是不标准的
比较好的做法是为 form 设个 id ,然后用 document.getElementById() 取得元素
2006-09-05 15:04
写私信
8楼#
Triton:frm 是 name 属性的值?
用 name 同样是不标准的
比较好的做法是为 form 设个 id ,然后用 document.getElementById() 取得元素
回到原帖


<form name="frm" id="frm"><form>
如果要用 document.getElementById()的话,页面报错。
因为我的Element是<%# DataBinder.Eval(Container.DataItem,"CardType")%>,所以我用onclick(<%# DataBinder.Eval(Container.DataItem,"CardType")%>),然后用上面说的方法实现。