我正在使用OpenFaces并且必须与IE6兼容。到目前为止,一切都或多或少都没有问题。
然而,我遇到了一个问题......
我在表单中有几个按钮。保存,添加,导出和删除。单击导出可以在Firefox和IE8中正常工作,调用定义的bean中的exportToCsv(),因此它必须是浏览器行为。单击使用IE6导出将在bean中调用add()而不是exportToCsv()。
有什么想法吗?
提前谢谢。
答案 0 :(得分:3)
只有在<o:commandButton>
和<button>
之间指定显示按钮的内容时,<input>
组件才会呈现<o:commandButton>
标记而非</o:commandButton>
。如果您只需要显示纯文本,那么您不必使用此方法,并且可以使用通常的value
属性,这将导致呈现<input>
标记而不是{{1} },即使用:
<button>
而不是
<o:commandButton value="Submit"... />
事情是,后一种形式允许放置任意HTML,因此需要<o:commandButton ...>Submit</o:commandButton>
标签。
答案 1 :(得分:1)
IE6存在<button>
元素的错误。它确实支持它,但它没有正确发送值。
解决方案1:改用<input type='button'>
。
这可能是最明显的解决方案,但根据您的页面设计,它可能是一个问题,因为它不像<button>
那样支持嵌套元素。
解决方案2:使用<button>
但通过Javascript(或更可能是JQuery)触发操作,而不是直接提交表单,并使用一种技术,例如具有由JS根据哪个按钮填充的隐藏字段单击,以确保提交正确的详细信息。
答案 2 :(得分:0)
这绝对是一个IE6问题:
找到解决方法的时间......
答案 3 :(得分:0)
使用OpenFaces时的解决方法
<o:outputLink styleClass="linkButton" ...>
.linkButton {
display: block;
float: left;
margin: 0 0 0 0;
background-color: #f5f5f5;
border: 1px solid #dedede;
border-top: 1px solid #eee;
border-left: 1px solid #eee;
font-family: "Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
text-decoration: none;
font-weight: bold;
color: #565656;
cursor: pointer;
padding: 2px 2px 2px 2px; /* Links */
}
从此来源修改CSS: