我有一个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/