【问题标题】:How to Load Data from java action as other page in jquery dialog如何从 java 操作加载数据作为 jquery 对话框中的其他页面
【发布时间】:2017-01-06 18:50:52
【问题描述】:

我有两个 JSP 页面,第一个页面有这样的链接:

<a id="page-help" href="#" 
   onclick="'referToDamageAssessor.do?method=showInsurantInf 
    &insurantId='+<%=temp.getPolicy().getLegalInsurant().getLegalInsurantId()%>;">
    <%=temp.getPolicy().getLegalInsurant().getFirmName()%> 
</a>

第二页显示来自带有 JSP scriptlet 标记的会话的操作数据。当用户单击链接时,我想在 jQuery 对话框中显示数据。我写了这段代码:

第一个 JSP 页面:

<a id="page-help" href="#" 
onclick="'referToDamageAssessor.do?method=showInsurantInf&insurantId='+
    <%=temp.getPolicy().getLegalInsurant().getLegalInsurantId()%>;">
    <%=temp.getPolicy().getLegalInsurant().getFirmName()%> 
</a> 

这是我的 jQuery 对话框:

$(document).ready(function() {
    $('#page-help').each(function() {
        var $link = $(this);
        var $dialog = $('<div></div>').load($link.attr('href'))
            .dialog({
                autoOpen: false,
                show: "fade",
                hide: "fade",
                modal: true,
                title: $link.attr('title'),
                width: 500,
                height: 300
            });

        $link.click(function() {
            $dialog.dialog('open');
            return false;
        });
    });
}); 

导入 jquery1.9.1.js、jquery-ui.js、jquery-ui.css

jQuery 对话框打开但为空。

【问题讨论】:

  • 为什么要将 url 值分配给 onClick?它将接受一个函数(处理程序)作为值。

标签: java jquery html jsp


【解决方案1】:

上述锚标记中的 onclick() 调用将触发某些 Javascript 调用,并且无法与您的代码中看到的 Java servlet 一起使用,并且覆盖默认行为不是好的做法,单参数和双参数也是如此onclick 处理程序完全错误,因为 调用在页面加载时呈现为 Java 页面的一部分,而不是作为 Javascript 函数返回值。

您可以尝试以下可能有效的方法 - 删除单引号和加号:

<a id="page-help" href="#" onclick="referToDamageAssessor.do?method=showInsurantInf&insurantId=<%=temp.getPolicy().getLegalInsurant().getLegalInsurantId()%>;"> <%=temp.getPolicy().getLegalInsurant().getFirmName()%> </a> 

您为什么不更改帮助锚点并调用带参数的函数?

帮助链接

<a href="#" onclick="showHelp('Report damage', 'referToDamageAssessor.do?method=showInsurantInf&insurantId=<%=temp.getPolicy().getLegalInsurant().getLegalInsurantId()%>');"> <%=temp.getPolicy().getLegalInsurant().getFirmName()%> </a>

<a href="#" onclick="showHelp('Report damage', 'referToDamageAssessor.do?method=showInsurantInf&insurantId=<%=temp.getPolicy().getLegalInsurant().getLegalInsurantId()%>');"> <%=temp.getPolicy().getLegalInsurant().getFirmName()%> </a>

帮助来电者

function showHelp(title, url)
{
  var $dialog = $('<div></div>')
    .load(url)
    .dialog({
        show: "fade",
        hide: "fade",
        modal: true,
        title: title,
        width: 500,
        height: 300
      });    
    }

【讨论】:

    猜你喜欢
    • 2012-10-23
    • 2012-06-30
    • 1970-01-01
    • 2014-04-27
    • 1970-01-01
    • 2011-12-30
    • 2010-12-09
    • 2014-03-07
    相关资源
    最近更新 更多