首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >让使用IE7表单

让使用IE7表单
EN

Stack Overflow用户
提问于 2014-06-27 22:54:24
回答 1查看 489关注 0票数 0

这是this question的延续,在对Spring和Spring中事件的处理进行了一些调试之后,重新聚焦于此。

我遇到了Spring和Internet 7的问题,还有IE11在“兼容性模式”中的问题。我已经核实过这个问题了,只是不知道怎么解决。

我有一个Web表单,上面有多个按钮,它们都是用Javascript onclick() handler连接的,因为它们都是type='button'而不是type='submit'

代码语言:javascript
运行
复制
<button id="addCurrentAccount" name="_eventId_addCurrentAccount" type="button" value="addCurrentAccount" class="buttonActivity add">
    <span>Add Current Account</span>
</button>

--这就是应该发生的事情:根据单击的按钮,在提交表单时会触发不同的流事件。例如,一个标记为"Delete Account“的按钮应该会触发一个名为"_eventId_deleteAccount”的事件。一个标记为"Create“的按钮应该会触发一个名为"_eventId_createAccount”的事件。

这可以在IE8到11,Chrome和Firefox上工作。然而,在IE7和IE11上,在“兼容模式”下,页面上的每个按钮都与表单一起提交。这意味着表单中有几个"_eventId_xxx“请求参数,而且由于第一个参数总是"_eventId_createAccount",所以页面上的每个按钮都会在表单上创建另一个帐户。

有简单的解决办法吗?(不幸的是,“不要使用Web流”或“不要使用IE7”不是选项。)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-30 14:01:24

在javascript函数中指定独占的eventId如下:

代码语言:javascript
运行
复制
    function includeEvent(eventId){
        document.getElementById("yourForm")._eventId.value = eventId;
        document.getElementById("yourForm").submit();
    }

将_eventId作为隐藏类型包括:

代码语言:javascript
运行
复制
    <input type="hidden" name="_eventId" value="Continue"/>
    <button id="addCurrentAccount" name="addCurrentAccount" type="button" value="addCurrentAccount" class="buttonActivity add" onclick="javascript:includeEvent('addCurrentAccount')">
        <span>Add Current Account</span>
    </button>

通过这种方式,您可以确保当用户单击enter按钮时,会生成默认的“继续”事件,您需要自定义如何处理该事件。根据每个提供的按钮单击,相应的事件(请参阅将此参数传递给javascript函数)由上述javascript函数设置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24461867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档