2012-12-14 128 views
0

我试图让我的应用程序兼容所有浏览器和我的代码火狐的document.all问题

ClientScript.RegisterClientScriptBlock(this.GetType(), "theAction", "<script type='text/javascript'>function DoSave() { try { document.all('" + lbnSave.ClientID + "').click(); } catch(e){} } </script>"); 

在IE8,Chrome和Opera工作,但不能在Firefox。我知道document.all是特定于IE的,但我如何重写这个在Firefox中工作呢?非常感谢!

回答

1

使用getElementById这是跨浏览器:

ClientScript.RegisterClientScriptBlock(this.GetType(), "theAction", "function DoSave() { try { document.getElementById('" + lbnSave.ClientID + "').click(); } catch(e){} }", true); 

另外,还可以使你的代码更干净。第四个参数设置为true将自动添加<script>标签。

+0

谢谢!这正是我所期待的!伟大的作品:) – Crista23