您好,登錄后才能下訂單哦!
小編給大家分享一下微信小程序中textarea的簡易解決方案,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
微信小程序 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); } }); } })
缺點:
這樣操作后,功能就有缺陷。例如,無法即時獲取用戶文本框輸入字符個數。
看完了這篇文章,相信你對“微信小程序中textarea的簡易解決方案”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。