這篇文章主要介紹了微信小程序 textarea 詳解及簡(jiǎn)單使用方法的相關(guān)資料,這里附有實(shí)現(xiàn)實(shí)例代碼,及解決textarea沒(méi)有bindchange事件,無(wú)法在輸入時(shí)給變量賦值的方法, 需要的朋友可以參考下
微信小程序 textarea 簡(jiǎn)易解決方案
微信小程序中textarea沒(méi)有bindchange事件,所以無(wú)法在輸入時(shí)給變量賦值。
雖然可以使用bindblur事件,但是綁定bindblur事件,如果再點(diǎn)擊按鈕,則先執(zhí)行完按鈕事件后,再去執(zhí)行bindblur事件,所以在js文件取不到輸入值,
解決方法:結(jié)合from表單,textarea文本框輸入后,再去點(diǎn)擊提交按鈕,這時(shí)會(huì)先執(zhí)行textarea事件(獲取文本框輸入內(nèi)容),再去執(zhí)行數(shù)據(jù)提交,這樣問(wèn)題就解決了
wxml文件代碼:
<form bindsubmit="evaSubmit"> <textarea name="evaContent" maxlength="500" value="{{evaContent}}" class="weui-textarea" placeholder="填寫(xiě)內(nèi)容(12-500字)"bindblur="charChange" /> <button formType="submit" disabled="{{subdisabled}}" class="weui-btn mini-btn" type="primary" size="mini">提交</button> </form>
登錄后復(fù)制
js文件代碼:
var app = getApp(); Page({ data:{ evaContent : '' }, onLoad:function(){ }, onReady:function(){ // 頁(yè)面渲染完成 }, onShow:function(){ // 頁(yè)面顯示 }, onHide:function(){ // 頁(yè)面隱藏 }, onUnload:function(){ // 頁(yè)面關(guān)閉 }, //事件 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('內(nèi)容為12-500個(gè)字符','loading',1200); }else{ this.setData({ evaContent : e.detail.value }); } }else{ this.setData({ evaContent : '' }); evaData.evaContent = ''; app.func.showToast('請(qǐng)輸入投訴內(nèi)容','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'){ //跳轉(zhuǎn)到首頁(yè) app.func.showToast('提交成功','loading',1200); }else{ app.func.showToast('提交失敗','loading',1200); } }); } })
登錄后復(fù)制
缺點(diǎn):
這樣操作后,功能就有缺陷。例如,無(wú)法即時(shí)獲取用戶文本框輸入字符個(gè)數(shù),如果有更好的解決方法,希望能學(xué)習(xí)一下!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,更多相關(guān)內(nèi)容請(qǐng)關(guān)注PHP中文網(wǎng)!
相關(guān)推薦:
以上就是微信小程序 textarea 的使用方法的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注有卡有網(wǎng)。