CSS,与新浏览器上的样式输入按钮相关的Javascriptfunction问题? (IE 8/9,FF 9)

我正在一个网站上,我有一个输入按钮(使用CSS样式),这是一个表单的一部分。 例如,请参阅下面的示例代码

 

我刚刚发现一个问题,如果用户点击按钮,它会移动几个像素,然后间歇性地发生预期的操作。 但间歇性的 ,我的意思是有时候它可以工作(将用户重定向到下一页),有时候没有任何反应。

之前从事过这方面工作的开发人员没有详细记录他的代码,所以我在这里尝试从头开始工作(因此缺乏细节)。 无论如何,在测试代码之后,似乎问题在于新的浏览器如何呈现css和javascript。

这是按钮function背后的javascript片段:

 $("#buttonsavejs").click(function(){ $("#main").unbind("submit").submit(); 

以及为按钮设置样式的CSS

 .button_style { height:28px; margin-left:10px; position:relative; right:10px; top:-23px; width:100px; } .button_image { background-image:url(http://some_image); border-bottom-width:0; border-color:initial; border-image:initial; border-left-width:0; border-right-width:0; border-style:initial; border-top-width:0; display:block; font-size:1px; line-height:1px; outline-color:initial; outline-style:none; outline-width:initial; overflow-x:hidden; overflow-y:hidden; position:relative; text-indent:-9999px; } 

此外,我注意到一个非常类似的问题: 为什么鼠标点击并不总是适用于样式输入按钮?

到目前为止我能够找到的另一件事。 在IE 9的开发人员工具中,如果我将文档模式切换到IE 8或9以外的任何其他模式,则该按钮的行为应该如此。 所以我有一个想法是将X-UA-Compatible设置为IE 7,看看是否能解决它,显然,这就是IE中文档模式的工作方式: IE8浏览器模式与文档模式

问题 :在使用FF(早期版本<9.0),IE 7进行测试后,我注意到按钮按预期工作。 但在FF 9,Chrome 16,IE 8/9中,它的行为如上所述。 有没有人遇到类似的问题和任何关于我应该注意什么的建议?

轻松修复:

首先,不要使用:

  

使用

  // you can use type="submit" 

并在脚本中:

 $("#buttonsavejs").click(function(e){ e.preventDefault(); // this stops the button from doing it's default action, aka submit.