PHP前端开发

微信小程序 textarea 的使用方法

百变鹏仔 5天前 #前端问答
文章标签 使用方法

这篇文章主要介绍了微信小程序 textarea 详解及简单使用方法的相关资料,这里附有实现实例代码,及解决textarea没有bindchange事件,无法在输入时给变量赋值的方法, 需要的朋友可以参考下

微信小程序 textarea 简易解决方案

微信小程序中textarea没有bindchange事件,所以无法在输入时给变量赋值。

虽然可以使用bindblur事件,但是绑定bindblur事件,如果再点击按钮,则先执行完按钮事件后,再去执行bindblur事件,所以在js文件取不到输入值,

解决方法:结合from表单,textarea文本框输入后,再去点击提交按钮,这时会先执行textarea事件(获取文本框输入内容),再去执行数据提交,这样问题就解决了

wxml文件代码:

           提交 

js文件代码:

var app = getApp();Page({ data:{   evaContent  : '' }, onLoad:function(){ }, onReady:function(){  // 页面渲染完成 }, onShow:function(){  // 页面显示 }, onHide:function(){  // 页面隐藏 }, onUnload:function(){  // 页面关闭 }, //事件 textBlur: function(e){   if(e.detail&&e.detail.value.length>0){    if(e.detail.value.length500){     //app.func.showToast('内容为12-500个字符','loading',1200);    }else{     this.setData({       evaContent : e.detail.value     });    }   }else{    this.setData({      evaContent : ''    });    evaData.evaContent = '';    app.func.showToast('请输入投诉内容','loading',1200);   } }, //提交事件 evaSubmit:function(eee){    var that = this;  //提交(自定义的get方法)  app.func.req('http://localhost:1111/ffeva/complaint?content=''+this.data.evaContent),get,function(res){      console.log(res);      if(res.result==='1'){       //跳转到首页       app.func.showToast('提交成功','loading',1200);      }else{       app.func.showToast('提交失败','loading',1200);      }  }); }})

 缺点:

这样操作后,功能就有缺陷。例如,无法即时获取用户文本框输入字符个数,如果有更好的解决方法,希望能学习一下!