微信小程序中textarea没有bindchange事件,所以无法在输入时给变量赋值。
微信小程序中textarea没有bindchange事件,所以无法在输入时给变量赋值。
虽然可以使用bindblur事件,但是绑定bindblur事件,如果再点击按钮,则先执行完按钮事件后,再去执行bindblur事件,所以在js文件取不到输入值,
解决方法:结合from表单,textarea文本框输入后,再去点击提交按钮,这时会先执行textarea事件(获取文本框输入内容),,结合人textarea的另一个失去焦点的方法呢 就可以解决了,
wxml代码:
<form bindsubmit="formSubmit" >
<view class="section">
<textarea bindblur="bindTextAreaBlur" auto-height placeholder="请输入内容" value="{{ceshi}}" />
<input name="input" placeholder="please input here" />
</view>
<view class="btn-area">
<button formType="submit">提交</button>
</view>
</form>
<view>{{ceshis}}</view>
<view>{{ceshidd}}</view>
以下是js的代码:
Page({
data: {
height: 20,
focus: false,
ceshi:''
},
bindTextAreaBlur: function(e) {
this.setData({
ceshi:e.detail.value
})
},
formSubmit: function(e) {
this.setData({
ceshis:this.data.ceshi,
ceshidd:e.detail.value.input
})
}
})
另外,这个方法还是有弊端的,如果各位,有什么更好的办法,或者想讨论以下的,可以扫描以下的二维码
微信小程序中用form提交textarea时无法获取数据的解决办法