写了一个 input 标签,用来接收用户名字的输入,但是向后端保存的时候,会产生名字掉字的情况,比如:王大力,存到数据库中就成了:王大,掉了一个字。
wxml 中的代码:
< input class = 'item-input' type = 'text' maxlength = '11' placeholder = "请输入姓名" name = "name" value = '{{name}}' bindinput = 'bindNameInput' /> |
bindinput
绑定的事件:
bindNameInput: function (e) { var value = e.detail.value.replace(/^\s+|\s+$/g, '' ); this .setData({ name: value, }) }, |
获取名字的时候取得是:this.data.name
一直找不出原因,有没有大佬曾遇到过类似的问题的,求解答。
和手写输入法有关
你说的是,手写的时候,最后一个字需要点一下确定,字才会上去,否则的话,字是选中的状态,点击保存字会丢失;
这个当时测试过啦,不是这个原因造成的
请问有解决这个问题吗?
改成form表单提交
之前是表单提交的,表单提交按钮现在失效了,所以才改成input输入获取值,然后有这个问题
可能,跟开发工具的版本有关吧,之前改成表单后,就把问题解决了,
我看到有人回答是因为使用了手写输入法,就会掉最后一个字,告诉用户后,现在没有这个问题了
需要写完最后一个字后,选择那个字
你试试bindNameInput里,不放到 data里,不使用
this.setData({name:value})
而改用
this.name = value 呢
我是用自己的手机和开发工具测试的,在提交服务器之前,我打印了一下,没有问题,但是有很多人反映会出现掉字的情况,怀疑是不是跟不同的手机有关?
同样遇到该问题,出现问题用户大约2% 怀疑,是某个版本中存在bug
在后台查看了,也没有限制字符串长度的地方。自己测试未遇到此问题,都是他人使用时遇到的。