最近在做手机页面用jQuery mobile开发,在用到form表单提交到时遇到了问题。
后台是用servlet进行处理的,想通过Servlet里面的重定向进行页面跳转发现在手机上根本没有用,出现errorpage提示信息。
查询网上资料以及jQuery mobile API得知 jQuery mobile表单提交默认是ajax提交,所以页面跳转写在servlet里面根本就不会实现页面跳转功能。
于是我按照教程在form里面加了 data-ajax=“false”这一属性,发现别说是页面跳转不行,就连后台的数据库操作都做不了,报了500错误。
想了好久既然用ajax提交,那么就用ajax进行页面跳转
<script type="text/javascript">
$(document).ready(function () {
$("#submitbtn").click(function(){
cache: false,
$.ajax({
type: "POST",
url: "feedback",
data: $('#feedbackform').serialize(),
success:function(data){
$.mobile.changePage("success.html");
}
});
});
});
</script>
<form method="post" id="feedbackform">
<span style="white-space:pre"> </span>//相关表单元素
<input type="button" id="submitbtn" value="提交">
</form>
注意的是js里面的data
$('#feedbackform').serialize()
是必须要有的,不然servlet里面用requset.getParameter接受的数据是null,ajax和后台成功交互后用changePage跳转到成功后显示的页面。