微信小程序 textarea 詳解及簡單使用方法
微信小程序 textarea 簡易解決方案
微信小程序中textarea沒有bindchange事件,所以無法在輸入時給變量賦值。
雖然可以使用bindblur事件,但是綁定bindblur事件,如果再點擊按鈕,則先執(zhí)行完按鈕事件后,再去執(zhí)行bindblur事件,所以在js文件取不到輸入值,
解決方法:結(jié)合from表單,textarea文本框輸入后,再去點擊提交按鈕,這時會先執(zhí)行textarea事件(獲取文本框輸入內(nèi)容),再去執(zhí)行數(shù)據(jù)提交,這樣問題就解決了
wxml文件代碼:
<form bindsubmit="evaSubmit">
<textarea name="evaContent" maxlength="500" value="{{evaContent}}" class="weui-textarea" placeholder="填寫內(nèi)容(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(){
// 頁面關(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個字符','loading',1200);
}else{
this.setData({
evaContent : e.detail.value
});
}
}else{
this.setData({
evaContent : ''
});
evaData.evaContent = '';
app.func.showToast('請輸入投訴內(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)到首頁
app.func.showToast('提交成功','loading',1200);
}else{
app.func.showToast('提交失敗','loading',1200);
}
});
}
})
缺點:
這樣操作后,功能就有缺陷。例如,無法即時獲取用戶文本框輸入字符個數(shù),如果有更好的解決方法,希望能學習一下!
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
JS實現(xiàn)將圖片URL轉(zhuǎn)base64示例詳解
這篇文章主要為大家介紹了JS實現(xiàn)將圖片URL轉(zhuǎn)base64示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03
競態(tài)條件Race condition及如何避免的三種方案詳解
這篇文章主要為大家介紹了競態(tài)條件Race condition及如何避免的三種方案詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-10-10

