Struts2 ajax主题在IE9中的问题

发布于 2024-11-15 21:22:46 字数 1742 浏览 0 评论 0原文

我们有一个在 struts-2.0.14 中开发的正在运行的应用程序。在此我们使用 Ajax 主题来显示内容。
此ajax主题在除IE9浏览器之外的所有浏览器中正常运行,在IE9中此ajax主题制作问题。结果显示在新选项卡中,而不是显示在 targets 属性指定的目标元素(div)中。

父页面

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
        <s:head theme="ajax" debug="false" />
    </head>
    <body>
        <s:url id="changePwd" action="changePassword" />
        <s:div theme="ajax" id="pwdDiv" executeScripts="true" href="%{changePwd}" loadingText="Loading..."/>     
    </body>
</html>

内页

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<s:form action="changePassword" id="resetPassword"  name="resetPassword">
    <s:textfield name="username" id="username"  />
    <s:password showPassword="true" name="newpassword" id="newpassword" value="%{newpassword}"/>
    <s:password showPassword="true" name="confirmpassword" id="confirmpassword" value="%{confirmpassword}"/>
    <s:submit value="Confirm"  showLoadingText="false"  onclick="clearMsg();" theme="ajax" targets="pwdDiv" executeScripts="true" cssClass="userbutton" />
</s:form>

当在内页中提交表单时,结果页面将弹出到新选项卡中。实际上它应该替换pwdDiv的内容。 注意:在其他浏览器中也可以正常工作,包括(IE7,8)

更新: 使 showLoadingText 为 true 使请求作为 Ajax,但值作为 null 传递(密码、确认密码等,.-所有字段)

We have an running application that is developed in struts-2.0.14. In this we used Ajax theme for displaying contents.
This ajax theme is running properly in all browsers except IE9 browsers, In IE9 this ajax theme making problem . The result is showing in new tab instead of showing in target element(div) specified by targets property.

Parent Page

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
        <s:head theme="ajax" debug="false" />
    </head>
    <body>
        <s:url id="changePwd" action="changePassword" />
        <s:div theme="ajax" id="pwdDiv" executeScripts="true" href="%{changePwd}" loadingText="Loading..."/>     
    </body>
</html>

Inner page

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<s:form action="changePassword" id="resetPassword"  name="resetPassword">
    <s:textfield name="username" id="username"  />
    <s:password showPassword="true" name="newpassword" id="newpassword" value="%{newpassword}"/>
    <s:password showPassword="true" name="confirmpassword" id="confirmpassword" value="%{confirmpassword}"/>
    <s:submit value="Confirm"  showLoadingText="false"  onclick="clearMsg();" theme="ajax" targets="pwdDiv" executeScripts="true" cssClass="userbutton" />
</s:form>

When Submitting the form in Inner Page the resulting page is popup into new tab. actually it should replace the content of pwdDiv.
Note: the same working properly in other browsers including (IE7,8)

Update:
making showLoadingText as true making the request as Ajax but the values are passed as null (password,confirm password ect,. -all fields)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

划一舟意中人 2024-11-22 21:22:46

s:submit 按钮中添加 type="button" 解决问题。不知道这背后是什么!

<s:submit **type="button"** value="Confirm"  showLoadingText="false"  onclick="clearMsg();" theme="ajax" targets="pwdDiv" executeScripts="true" cssClass="userbutton" />

Adding type="button" in s:submit button solve the problem. Don't know what is behind this !

<s:submit **type="button"** value="Confirm"  showLoadingText="false"  onclick="clearMsg();" theme="ajax" targets="pwdDiv" executeScripts="true" cssClass="userbutton" />
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文