【发布时间】:2014-06-27 22:54:24
【问题描述】:
这是this question 的延续,在对 Spring Web Flow 进行了一些调试和 Spring Web Flow 中的事件处理之后重新聚焦。
我遇到了 Spring Web Flow 和 Internet Explorer 7 以及“兼容模式”下的 IE 11 的问题。我已经验证了这个问题,我只是不知道如何解决它。
我有一个带有多个按钮的 Web Flow 表单,这些按钮都使用Javascript onclick() handler 进行连接,因为它们都是type='button' 而不是type='submit':
<button id="addCurrentAccount" name="_eventId_addCurrentAccount" type="button" value="addCurrentAccount" class="buttonActivity add">
<span>Add Current Account</span>
</button>
这是应该发生的:根据单击的按钮,提交表单时会触发不同的 Web Flow 事件。例如,标记为“删除帐户”的按钮应触发名为“_eventId_deleteAccount”的事件。标记为“创建帐户”的按钮应触发名为“_eventId_createAccount”的事件。
这适用于 IE 8 到 11、Chrome 和 Firefox。但是,在 IE 7 和 IE 11 的“兼容模式”下,页面上的每个按钮都会与表单一起提交。这意味着表单带有多个“_eventId_xxx”请求参数,并且由于第一个始终是“_eventId_createAccount”,因此页面上的每个按钮都会在表单上创建另一个帐户。
有一个简单的解决方法吗? (不幸的是,不,“不要使用 Web Flow”或“不要使用 IE 7”不是选项。)
【问题讨论】:
标签: javascript spring internet-explorer spring-webflow-2