WeChat 애플릿 텍스트 영역 간단한 솔루션
WeChat 애플릿에는 텍스트 영역에 대한 바인드체인지 이벤트가 없으므로 입력 시 변수에 값을 할당할 수 없습니다.
바인드블러 이벤트를 사용할 수는 있지만 바인드블러 이벤트를 바인딩한 후 다시 버튼을 클릭하면 버튼 이벤트가 먼저 실행된 후 바인드블러 이벤트가 실행되므로 입력값을 가져올 수 없습니다. js 파일,
해결 방법: from 양식을 결합하고 텍스트 영역 텍스트 상자에 입력한 다음 제출 버튼을 클릭합니다. 이때 텍스트 영역 이벤트가 먼저 실행됩니다(텍스트 상자의 입력 내용 가져오기). ), 그러면 데이터 제출이 실행됩니다.
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 중국어 홈페이지를 참고해주세요!