Javascript或submit按钮刷新当前页失效

现象:

最近为老板做个产品信息管理的小程序,在做搜索那块时发现多次点击表单的提交按钮(表单内容没变),或调用javascript的window.location.href=window.location,window.reload()等方式都无效(页面内容无刷新,尽管标签页看似重新加载了),但使用F5刷新有效。

场景再现:

HTML代码:

操作:第一次在输入框中输入一些信息时,提交成功,页面刷新,输入框被清空;第二次输入相同内容时,提交失败,页面内容未刷新,输入框内容不消失。

原因:

Form表单的action属性值是“#”(换用AJAX方式提交表单)。

解释:

地址栏中,若地址未发生改变,且最后一个字符是“#”的话,浏览器是不会重新加载新页面的,尽管调用了javascript的刷新当前页的方法(window.location.href=window.location,window.reload()等)。

解决:

既然不用Form表单的自带提交功能,而改用AJAX等方式提交的话,去掉action属性及其属性值即可。

留下评论