我有一个Spring Mvc应用程序,我希望当用户单击“提交”按钮并返回到视图时,将显示一个类似于“事务成功”的jquery对话框,或者如果对话框中显示错误消息,则返回该视图。

目前,当表单到达控制器时,如果交易成功或出现任何错误,则立即完成处理,我设置了model.addAttribute('ServerResponse','Transaction Was Success')或model.addAttribute('ServerResponse',e)。

我想将“ ServerResponse”返回到对话框,但是我不知道将jquery附加到的最佳事件是什么。我不想创建Web服务,因为我已经在服务器上使用帖子了,并且在关闭javascript的情况下。

有人可以告诉我,一旦ServerResponse元素具有值,用ServerResponse显示对话框的最佳方法是什么。最初,在加载表单时,ServerResponse应该为空。

希望我对在这里要实现的目标足够清楚。

已编辑

这就是我正在做的事情,但是当我从服务器返回时,该功能未执行,它实际上显示在创建div的位置。

<div id="dialog" title="Server Response">
            <p>
                <span class="ui-icon ui-icon-info" style="float: left; margin: 0 7px 50px 0;"></span>
                ${results}
            </p>

        </div>

 $(function() {

         var serverResponse = $('#serverResponse').val().length;

            alert(serverResponse);

         if(serverResponse != 0){

             alert(serverResponse);
             $("#dialog").dialog();
         }

      });

最佳答案

使用您在视图层中使用的任何模板语言,将消息从模型输出到div中。就像是:

<div id="serverResponse"><%= serverResponse %></div>


相应地设置样式,然后在该页面上的jquery(使用jquery UI)中执行以下操作:

$(function() {
  $("#serverResponse").dialog();
}


然后执行您想要的任何样式。如果没有javascript,则将显示纯div;如果有,它将显示在对话框中。您可以使用noscript和重复的内容来消除内容进入对话框之前的瞬间闪烁。

关于javascript - Spring MVC和JQuery,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12888226/

10-13 05:27