前文章描述了Form表单提交方式与提交是几个小细节行问题,那接下来就描述下表单提交完成后,后台给用户操作的反馈以及后续操作应该跳转到具体页面的流程。
第一种方式:在控制器中(serlvet) 使用如下2行代码
session.setattribute("message","前台要输出的内容");
response.sendRedirect(request.getHeader("referer"));
其中,给用户的反馈信息放在session 中,第二句的意思是跳转到请求页面。
第二种方式:使用Ajax() 中的success 函数中写入,如下图一所示。
图一
使用alert(msg);//输出控制层的操作结果
使用goPage() 方法,跳转到指定的页面。上图是跳转到本页面,若是让页面刷新的呢,就得结合window.location=function(){window.opener.location.reload();}方法。
如果要跳转到其上一页面,同时也要刷新上一页呢?
首先,得关闭当前页面;然后就自动跳转到 上一面了,同时上一页面也必须写 定义function XXX(){window.opener.location.reload();}函数,然后在<body onunload="XXX();">,就是调用onunload方法,去调用页面再次加载,就是相当于刷新了,部分代码,如图二所示:,
图二
同时也可以使用 window.history.back(-1)等方法,但是被跳转页面也得定义类似图二中 的 load(),方可刷新页面。
Query Form插件是一个优秀的Ajax表单插件,可以非常容易地、无侵入地升级HTML表单以支持Ajax。jquery Form有两个核心方法 -- ajaxForm() 和 ajaxSubmit(), 它们集合了从控制表单元素到决定如何管理提交进程的功能。另外,插件还包括其他的一些方法: formToArray()、formSerialize()、fieldSerialize()、fieldValue()、clearForm()、clearFields() 和 resetForm()等。
本文使用jquery.form.js解决提交之后,页面发生跳转,在一个空白页面上显示了后端返回的json数据问题,需要的朋友参考下:
面临问题:form表单submit之后,后端会返回提示信息。但原生html无法获取后端返回的数据,就造成了这样一种局面:提交之后,页面发生跳转,在一个空白页面上显示了后端返回的json数据,用户体验0分。
解决方法:使用jquery.form.js
首先引入jquery.form.js
自定义控制提交函数:
改造form表单(添加onsubmit事件,返回自定义处理函数)
图1
图2
图3
*请认真填写需求信息,我们会在24小时内与您取得联系。