這篇文章主要介紹了微信小程式textarea 詳解及簡單使用方法的相關資料,這裡附有實作實例程式碼,及解決textarea沒有bindchange事件,無法在輸入時給變數賦值的方法, 需要的朋友可以參考下方
微信小程式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); } }); } })
缺點:
這樣操作後,功能就有缺陷。例如,無法即時取得使用者文字方塊輸入字元數,如果有更好的解決方法,希望能學習一下! 以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網! 相關推薦:#微信小程式
scroll-view實作上拉載入與下拉刷新的實例
#
以上是微信小程式 textarea 的使用方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!