微信小程式 textarea 詳解及簡單使用方法

高洛峰
發布: 2017-04-25 10:43:26
原創
2932 人瀏覽過

微信小程式 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  : &#39;&#39;
 },
 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(&#39;内容为12-500个字符&#39;,&#39;loading&#39;,1200);
    }else{
     this.setData({
       evaContent : e.detail.value
     });
    }
   }else{
    this.setData({
      evaContent : &#39;&#39;
    });
    evaData.evaContent = &#39;&#39;;
    app.func.showToast(&#39;请输入投诉内容&#39;,&#39;loading&#39;,1200);
   }
 },
 //提交事件
 evaSubmit:function(eee){  
  var that = this;
  //提交(自定义的get方法)
  app.func.req(&#39;http://localhost:1111/ffeva/complaint?content=&#39;&#39;+this.data.evaContent),get,function(res){
      console.log(res);
      if(res.result===&#39;1&#39;){
       //跳转到首页
       app.func.showToast(&#39;提交成功&#39;,&#39;loading&#39;,1200);
      }else{
       app.func.showToast(&#39;提交失败&#39;,&#39;loading&#39;,1200);
      }
  });
 }
})
登入後複製

 缺點:

這樣操作後,功能就有缺陷。例如,無法即時取得使用者文字方塊輸入字元數,如果有更好的解決方法,希望能學習一下!

更多微信小程式 textarea 詳解及簡單使用方法相關文章請關注PHP中文網!


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板