关于input做回退缓存数据时,数据错误的问题
存个笔记,免得忘了。
由于项目需求原因,里面经常用到回退缓存数据的需求,用storage本地存储的话,一个处理疏忽就极容易触发bug,于是我越来越钟爱用input作为容器来存储数据(仅对页面回退读取缓存这一类需求使用,极度推荐,真的很好用)。
嗯,开始说正题,今天同样在用input做回退缓存需求时,突然报错了,JSON.parse()方法报错了,一开始我还很懵逼,然后调试一下,发现我缓存在input里面的那个json数据变了,变的很彻底,尝试了几轮过后,发现赋值很正常,取值也正常,但是只要页面回退,数据就变成页面内其它input的内容了 ???然后我再尝试了一下别的,很正常的执行,然后我就大胆的猜测一下,你input不支持我放太长的数据吧?于是我尝试把数据缩短,缩短了几次之后,果然又正常了,果然是这货的锅。但是知道了你的错误,却不知道怎么让你放更长的数据啊。
于是我做了一个英明的决定,把input 换成 textarea标签,于是幸福就这么突然的到来了,完美解决(手动滑稽)。
补充:
<input type="number" maxlength="3" />
是无法设置最大长度maxlength的,但是我们可以用<input type="tel" maxlength="3" />
(移动端)- 暂时没想到什么比较有用的,欢迎各位补充