如题所述
我要提交内容并跳回上一页。我该怎么办?
1。只有一种方法可以实现你的目标,那就是跳到上一页,放在你提交的表单处理页面,而不是你当前的表单提交页面。此外,您应该使用面向页面的选项。2.你之所以会出现这种情况,是因为触发onclick/submit的时候,提交已经生效了,已经转到下一页了。这个页面上的java程序已经失败了,你采取的任何行动都没有意义。如果使用onclik=returnfalse,就会中断提交,这不是您预期的结果。
3.如果你无法控制提交的页面(比如你做了一个表格,提交给百度),你就不得不采用其他方法。
在这里,我可以给你提供一个方法:你可以在
以上只是一个例子,你可以从target来理解。
form组件的提交函数由什么组成?
jquery-form.js这个插件来实现回调函数:
formid="addform"method="post"action="请求接口地址"enctype="multipart/form-data"target="rfFrame">
p>
p>
labelfor="customName">广告包名称/label>
p>
inputtype="text"name="customName"id="customName"placeholder="广告包名称">
/p>
/p>
p>
labelfor="limited">日限量/label>
p>
inputtype="text"name="limited"id="limited"placeholder="每日下载次数">
/p>
/p>
p>
labelfor="file">URL地址/label>
p>
inputtype="file"name="file"id="file">
/p>
/p>
!--/.box-body-->
p>
labelfor="submit">/label>
p>
buttontype="button"id="submit">提交/button>
/p>
/p>
!--/.box-footer-->
/form>
iframeid="rfFrame"name="rfFrame"src="about:blank">/iframe>
注意:target="rfFrame"调取的是下面这个iframe的id值。作用是为了提交表单时防止页面跳转;表单要上传文件时需设置属性enctype="multipart/form-data",具体原因不太清楚;
好了,现在要上jquery-form.js的提交代码了:
$("#submit").click(function(){
varoptions={
url:请求接口地址,//同action
type:'post',
beforeSend:function(xhr){//请求之前
varindex=layer.load(1,{
shade://0.5透明度的黑色背景
});
},
success:function(data)
{
},
complete:function(xhr){//请求完成
layer.closeAll('loading');
//询问框
layer.confirm('广告主修改成功!页面将跳转到列表页。',{
btn://按钮
},function(){
location.href="adList.html";//location.href实现客户端页面的跳转
});
},
error:function(xhr,status,msg){
//alert("状态码"+status+";"+msg)
layer.msg('玩命加载中..');
}
};
$("#addform").ajaxSubmit(options);
});
另外说明一下,如果没有上传文件的话,完全可以使用ajax请求就好了,没必要这么折腾。那也就说明ajax请求不能够上传文件,ajax只能传递文本类信息。