首页 新闻 会员 周边

JS给Input的value赋值后,单击input时内容会消失

0
悬赏园豆:20 [已解决问题] 解决于 2024-03-11 10:05


国家税务局电子发票开票平台界面,通过JS获取到开票单位名称input元素后,给Input.value元素赋值,界面正常显示,但当鼠标在名称的文本框中点击时,文本框中的内容会消失;网上查到需要执行input.dispatchEvent(new Event('input')),但执行后,文本框中的内容也会消失;会是什么问题呢,如何才能往文本框input中赋值并且鼠标单击不会消失呢
初步判断应该不是使用了Vue或是react框架导致的,因为上图中,同一个form中的第三个和第四个文本框,就可以直接给value赋值,然后执行input.dispatchEvent(new Event('input'))后,文本中的值在单击时就不会消失

才江的主页 才江 | 初学一级 | 园豆:188
提问于:2024-03-07 21:25
< >
分享
最佳答案
0

应该由别的地方把值给清空了,比如focus事件,input事件或其他事件...

收获园豆:20
newbigapple | 菜鸟二级 |园豆:222 | 2024-03-08 09:35

如何能找出来是什么事件给清空的呢

才江 | 园豆:188 (初学一级) | 2024-03-08 11:42
其他回答(1)
0

inputSaleName.dispatchEvent(new Event('focus'))
inputSaleName.value='测试公司'
inputSaleName.dispatchEvent(new Event('input'))
inputSaleName.dispatchEvent(new Event('blur'))
先执行获取焦点,然后赋值,然后执行input事件,最后再执行一下失去焦点事件,就可以正常赋值成功了

才江 | 园豆:188 (初学一级) | 2024-03-11 10:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册