一个ie与firefox不兼容的问题。onchange。在线求救!

zhangsaim 2008-05-18 03:57:25
谁能告诉下我为什么在IE中
document.getElementById("select1").fireEvent('onchange');
可以触发select1的onchange事件。而在firefox中却无法触发?
在firefox中怎么触发select的onchange事件?
...全文
2213 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
jayrao5566 2011-09-01
  • 打赏
  • 举报
回复
有些情况改为OnCLICK 也可以.
rwheliang 2011-09-01
  • 打赏
  • 举报
回复
能用啊,你是不是把方法名字写错了,看控制台是不是报错?
丽phoenix 2011-08-18
  • 打赏
  • 举报
回复
呃,为什么我不能用,在firefox下 提示 dispatchEvent 这个函数不存在?
kaoyanxz 2010-12-09
  • 打赏
  • 举报
回复
谢谢13啊!南开大学我会了
kaoyanxz 2010-12-09
  • 打赏
  • 举报
回复
谢谢13啊!南开大学我会了
rainbow_2000 2010-12-09
  • 打赏
  • 举报
回复
13楼的果然好用
lichhh 2010-11-04
  • 打赏
  • 举报
回复
13楼方法可行!感谢
zhangsaim 2008-05-20
  • 打赏
  • 举报
回复
没有人知道吗?
zhangsaim 2008-05-20
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 hztgcl1986 的回复:]
document.getElementById('select1').onchange();
[/Quote]
这个的确可以触发,可我的问题解决 不了,现在我想知道的是FF下,
document.getElementById("billType").fireEvent('onchange');
的替代方法是怎么样的?
关于Event
还是不太懂啊。
hztgcl1986 2008-05-20
  • 打赏
  • 举报
回复
document.getElementById('select1').onchange();
li36669957 2008-05-20
  • 打赏
  • 举报
回复
document.getElementById('select1').onchange();
这条不就是吗?
你的不行可能是你<select>里用的是name=="select1" 而不是id="select1"
这就是你的为什么不行,也就是IE和FF对(getElementById)的区别,
网站建设,程序开发,网页制作学习群(57226911)
mingxuan3000 2008-05-20
  • 打赏
  • 举报
回复

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<select onchange="javascript:alert('a');" id="select1"> <option>1 </option> <option>2 </option> </select>
<INPUT TYPE="button" onclick="ccc()">
<script type="text/javascript">
//<![CDATA[
function ccc(){
var t=document.getElementById('select1')
if( document.all )
{
t.fireEvent( "onchange" );
}
else
{
var evt = document.createEvent('HTMLEvents');
evt.initEvent('change',true,true);
t.dispatchEvent( evt );
}
}

//javascript:document.getElementById('select1').fireEvent('onchange');

//]]>
</script>
</BODY>
</HTML>
li36669957 2008-05-19
  • 打赏
  • 举报
回复
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<select onchange="javascript:alert('a');" id="select1"><option>1</option><option>2</option></select>
<INPUT TYPE="button" onclick="javascript:document.getElementById('select1').onchange();">
</BODY>
</HTML>
用这段你分别在IE和FF里试下,试后在回我
网站建设,程序开发,网页制作学习群(57226911)
zhangsaim 2008-05-19
  • 打赏
  • 举报
回复
楼上的这个页面效果完全可以。
但我的
在IE下
document.getElementById("billType").fireEvent('onchange');
这样就可以。
我觉得我这个是需要事件驱动的。
但是我在firefox下:
var evt = document.createEvent("HTMLEvent");
evt.initEvent("change", true, true);
document.getElementById("billType").dispatchEvent(evt);
这样也不行
不知我哪里做错了,
谁能给个FF下手动触发select的onchange事件驱动的例子?
BlueDestiny 2008-05-18
  • 打赏
  • 举报
回复
fireevent在firefox里可以用createEvent创建事件等方式模拟的
zhangsaim 2008-05-18
  • 打赏
  • 举报
回复
具体的页面,发出来真有点麻烦。
zhangsaim 2008-05-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 s_liangchao1s 的回复:]
JScript code
if (navigator.appName.indexOf("Microsoft")!= -1) {
document.getElementById("select1").onchange(); //ie
}else{
document.getElementById("select1").fireEvent('onchange');
}
[/Quote]
这样做的话,ie中也不能用了。

我觉得应该不是判断条件的问题,而是触发onchange这个事件的方法的问题。
无奈,刚出道,对这方面经验不足啊。

谁能帮下我不?
s_liangchao1s 2008-05-18
  • 打赏
  • 举报
回复

if (navigator.appName.indexOf("Microsoft")!= -1) {
document.getElementById("select1").onchange(); //ie
}else{
document.getElementById("select1").fireEvent('onchange');
}




zhangsaim 2008-05-18
  • 打赏
  • 举报
回复
if (navigator.appName.indexOf("Microsoft")!= -1) {

document.getElementById("select1").fireEvent('onchange');
}else{

document.getElementById("select1").onchange();
}
我这样做了后,好像还是一样的不行。。

请教。
muxrwc 2008-05-18
  • 打赏
  • 举报
回复
document.getElementById("select1").onchange();

fireEvent是FF不支持的.

87,903

社区成员

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

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