首页 新闻 会员 周边 捐助

js动态创建的表格被input中的submit提交会一闪而过

0
悬赏园豆:5 [已解决问题] 解决于 2017-12-14 14:28

 

问题是:这样提交数据之后,生成的表格会一闪而过消失了,怎么处理

Psrion的主页 Psrion | 初学一级 | 园豆:29
提问于:2017-07-27 11:29
< >
分享
最佳答案
1

问题的本质是你还没能理解前后台代码执行的顺序。

demo中,点击提交后:

1.首先响应的是你在页面上的绑定的dom响应事件,也就是绘制表格的js函数,js执行完成后,提交当前页面表单;

2.后台接受到表单请求后,回传响应页面;

3.本地浏览器获取响应页面后,先卸载当前页面(即刚刚通过js绘制了表格的旧页面),然后装载新页面。

 

仔细想想上面的流程,还不知问题出在哪,那你得反思反思了

收获园豆:5
codingHeart | 小虾三级 |园豆:1511 | 2017-07-28 14:01
其他回答(5)
0

肯定会消失了,因为你重新从服务端请求了新页面,新页面上肯定没有啊。除非你用局部刷新,不刷新你创建的表格部分。

空明流光 | 园豆:111 (初学一级) | 2017-07-27 11:40

如何局部刷新呢??我不需要刷新func()的内容,除非是页面改变

支持(0) 反对(0) Psrion | 园豆:29 (初学一级) | 2017-07-27 11:43

@OlderDriver: 一两句说不清楚,你还需要自己思考和学习。

支持(0) 反对(0) 空明流光 | 园豆:111 (初学一级) | 2017-07-27 11:46

@沧海一杰: 提示一点呗

支持(0) 反对(0) Psrion | 园豆:29 (初学一级) | 2017-07-27 11:51
0

把input 的submit类型 换成   input,表单中如果使用<button></button> 或者<input type="submit"> 都会刷新页面

但是<input type="button"/> 就不会刷新页面,,局部刷新,用ajax

老年游侠 | 园豆:364 (菜鸟二级) | 2017-07-27 11:53

如果有几个input的按钮,每一个控制都是不同的界面,这样的话,如果使用button如何刷新按下不同界面产生的效果??因为我是在BS结构中进行的,server为Linux系统,所以切换不同按键的界面

支持(0) 反对(0) Psrion | 园豆:29 (初学一级) | 2017-07-27 11:56
0

A:很费解如下描述:
"如果有几个input的按钮,每一个控制都是不同的界面,这样的话,如果使用button如何刷新按下不同界面产生的效果??因为我是在BS结构中进行的,server为Linux系统,所以切换不同按键的界面"
BS对吧?那不就是网页么,一个网页"有几个input的按钮,每一个控制都是不同的界面" 是什么意思?这个界面的概念是页面还是页面的某一块?如果是某一块那怎么能叫"界面",所以应该是"每个按钮控制不同的div块"(或许我理解错了 不过从旁观者我是这么理解的)
B:问题的标题是"

js动态创建的表格被input中的submit提交会一闪而过


请问这个和什么什么系统有啥关系"因为我是在BS结构中进行的,server为Linux系统,所以切换不同按键的界面",这里在描述问题的时候无意识的在偏离问题,为什么这么说,因为表单的submit提交必然会刷新页面,除非你用ajax 或者JS的表单提交去实现,这和你是Linux还是windows没一点点关系...

C:其实你的问题很简单,上面已经说了解决方法,ajax 或者JS的表单提交去实现,至于"使用button如何刷新按下不同界面产生的效果??"这个,我想你是不同的按钮有不同的功效,无非就是你每个按钮对应着写一个Ajax去实现罢了.说这么多除了回答你的问题其实更多的是想告诉你,问问题的时候尽量归纳一下问题,分析问题的本质,而非去言其它(容易给愿意帮助你的人造成困扰),一个好的提问方式以及好的语言组织能让你更快的得到问题的解决,以及锻炼自己以后的表达能力.

D:希望你能理解我的初衷.而非引起不适.

顾星河 | 园豆:7294 (大侠五级) | 2017-07-28 09:14
0

 input 改成 button  改用 ajax  提交数据

Постой! | 园豆:1084 (小虾三级) | 2017-07-28 16:34
0

这是因为提交到了新页面去了 ,这里需要使用ajax来提交数据

好来污影后 | 园豆:287 (菜鸟二级) | 2017-07-28 16:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册