介绍
小编给大家分享一下微信小程序中textarea的简易解决方案,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!
微信小程序textarea简易解决方案
微信小程序中textarea没有bindchange事件,所以无法在输入时给变量赋值。
虽然可以使用bindblur事件,但是绑定bindblur事件,如果再点击按钮,则先执行完按钮事件后,再去执行bindblur事件,所以在js文件取不到输入值,
解决方法:结合从表单,textarea文本框输入后,再去点击提交按钮,这时会先执行textarea事件(获取文本框输入内容),再去执行数据提交,这样问题就解决了
wxml文件代码:
& lt; form bindsubmit=癳vaSubmit"比; ,,& lt; textarea name=癳vaContent",最大长度=?00“,value=https://www.yisu.com/zixun/{{evaContent}}”class=皐eui-textarea”占位符="填写内容(12 - 500字)" bindblur=" charChange "/>提交> 按钮 形式>
js文件代码:
var app =, getApp (); 页面({ ,数据:{ ,,evaContent ,:, & # 39; & # 39; }, ,onLoad:函数(){ }, ,onReady:函数(){//才能,页面渲染完成 }, ,昂秀:函数(){//才能,页面显示 }, ,onHide:函数(){//才能,页面隐藏 }, ,onUnload:函数(){//才能,页面关闭 }, ,//事件 ,textBlur:函数(e) { ,,如果(e.detail&, e.detail.value.length> 0) { ,,,如果(e.detail.value.length<12 | | e.detail.value.length> 500) { ,,,,//app.func.showToast(& # 39;内容为12 - 500个字符& # 39;,& # 39;加载# 39;,1200); 还有,,,}{ ,,,,this.setData ({ ,,,,,,evaContent : e.detail.value ,,,,}); ,,,} 其他,,}{ ,,,this.setData ({ ,,,,,evaContent :, & # 39; & # 39; ,,,}); ,,,evaData.evaContent =, & # 39; & # 39;; ,,,app.func.showToast(& # 39;请输入投诉内容& # 39;,& # 39;加载# 39;,1200); ,,} }, ,//提交事件 ,evaSubmit:函数(eee) {,, var 才能;that =,;//才能提交(自定义的得到方法) app.func.req才能(& # 39;http://localhost: 1111/ffeva/投诉?内容=& # 39;& # 39;+ this.data.evaContent),得到函数(res) { ,,,,,console.log (res); ,,,,,如果(res.result===& # 39; 1 & # 39;) { ,,,,,,//跳转到首页 ,,,,,,app.func.showToast(& # 39;提交成功& # 39;,& # 39;加载# 39;,1200); ,,,,,其他}{ ,,,,,,app.func.showToast(& # 39;提交失败& # 39;,& # 39;加载# 39;,1200); ,,,,,} ,,}); ,} })
缺点:
这样操作后,功能就有缺陷,例如,无法即时获取用户文本框输入字符个数。
看完了这篇文章,相信你对“微信小程序中textarea的简易解决方案”有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!