submit提交页面刷新问题
用ajax做表单提交的时候,点击按钮之后页面会刷新,用户之前在页面上的操作也没有了,很不好。然后把 type=submit改成type=button之后(之前按钮一直加了点击事件的,点击执行ajax),点了页面没有任何反应,手动刷新之后数据才改变了,说明搜索的值是提交到后台了,但是要手动刷新,有谁知道为什么,难道一定要用submit提交吗,直接用click事件为什么不能局部刷新页面。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
我点击提交按钮之后,将数据提交给后台,后台会将数据写入一个json文件中, 我的前端是用d3.js请求一个json文件 d3.json("force.json", function(error, json) { }读到这个json文件里面的数据之后才会根据数据生成图表。每次点击提交按钮,json文件里面的数据都会改变,所以必须要重新执行一遍程序图表才会刷新,就是刷新一下页面。你有什么方法吗?谢谢!
我觉得你既然要局部刷新,就不能像1楼那样重新加载页面,你可以使用定时器来设置刷新的时间,或者你可以在回调函数中加入你要刷新的那部分的请求url,让它重新请求一次。万一不行,你可以吧相关的js贴出来我看看
你可以在数据提交成功后,在回调成功后,再去展示你所需要显示的内容吧。
这和submit提交一样,会把整个页面刷新,用户之前的操作也没了,我需要的是只刷新要显示的内容,用户之前输入的搜索的值可以保留下来,难道只能用cookie或者session将搜索值保存下来,刷新之后再填入搜索框?
回复
@酱油白 : 那就不刷新,把input变成只读的,同时隐藏提交按钮,不就可以了么
兄弟, 刷新是需要你写代码来实现的,ajax回调里面,用代码刷新或者局部刷新,如下:
success:function(result){
window.location.reload();//刷新整个页面
document.formName.reset();//刷新表单
}