【问题标题】:Include a jsp inside another when a button is clicked单击按钮时在另一个内包含一个 jsp
【发布时间】:2013-04-16 11:34:03
【问题描述】:

我有一个注销按钮。单击它后,我想显示一个页面confirmlogout.jsp,然后根据用户的响应,用户必须注销或留在那里。

我的代码:

<span class="inlayField2">
    <s:a href="#" cssClass="planTabHeader" id="logoutId"> <img src="../../KY/images/common/header/lock.png" alt="logout" style="border: none;background-color: transparent;" /> &nbsp;Log out</s:a></span>
    </s:form>

<div id="confirmPopup" style="display:none;">
      <%@ include file="/planmanagement/planSummary/ConfirmationPopup.jsp" %>
    </div>


$('#logoutId').click(function(event) {
$('#confirmPopup').css('display','block');
});

我的问题是当加载包含注销的页面时,即使我设置了 display:none,也会显示确认popup.jsp。当我点击注销时,确认弹出窗口没有出现。请帮我解决这个问题。提前谢谢

【问题讨论】:

  • 检查您的 html 是否格式正确。由于 html 格式错误,样式属性可能无法应用于 div。
  • @WilQu :是的,因为每次我都会从不同的人那里得到答案。我会问,直到我得到解决方案
  • 也许你可以签入firebug;右键单击元素并选择检查元素。查看元素的显示属性是否设置为无。就您发布的代码而言,它应该没问题,但如果确认可见,则您的 html 无效或其他脚本将其设置为可见。

标签: java javascript jquery jsp


【解决方案1】:

您能否确认调用了事件处理程序并且正确的元素设置为可见?

按 F12 时,您可以在 firefox(最好使用 firebug)或 chrome 中看到控制台消息

$('#logoutId').click(function(event) {
  console.log("logout clicked");
  console.log("showing element:",$('#confirmPopup'));
  $('#confirmPopup').show();
});

【讨论】:

  • 根据问题,查看页面时jsp也是可见的。所以这是第一个问题。
  • 事件处理程序被调用...我的问题是我在页面加载时收到确认弹出窗口,而不是在单击注销时
  • @Ankit:我正在设置显示:无。即使那样它是如何显示的
  • @mukund:检查你的 html 是否格式正确。由于 html 格式错误,样式属性可能无法应用于 div。
【解决方案2】:

你可以试试这个:

<div id="confirmPopup" style="display:none;">
<script>
    $('#confirmPopup').click(function(){
    document.write('<%@ include file="/planmanagement/planSummary/ConfirmationPopup.jsp" %>');
    }
</script>
 </div>

【讨论】:

  • 但是为什么 $('#confirmPopup').click...我没有点击它
  • @mukund 你是对的,注册点击 confirmPopup 不正确,我错过了注销按钮点击你的描述。 Ankit:是的,因为他想在显示 div 时执行服务器端代码,所以需要在您运行服务器端代码的地方 document.write。这是典型的 JSP/JS 风格的代码。
  • @harsh:Document.write 只会将该字符串写入字符串。而不是作为jsp代码。
  • 那么有什么解决办法呢?
猜你喜欢
  • 2014-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多