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

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

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

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

wxml文件代码:

<form bindsubmit="evaSubmit">
      <textarea name="evaContent" maxlength="500" value="{{evaContent}}" class="weui-textarea" placeholder="填写内容(12-500字)"bindblur="charChange" />          
      <button formType="submit" disabled="{{subdisabled}}" class="weui-btn mini-btn" type="primary" size="mini">提交</button>
 </form>

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.length<12||e.detail.value.length>500){
          //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);
            }
    });
  }
})

 缺点:

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

 

转载于:https://www.cnblogs.com/bsyblog/p/6116973.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值