이 글에서는 위챗 애플릿 텍스트 영역에 대한 자세한 설명과 간단한 사용법을 주로 소개하고, 텍스트 영역에 바인드체인지 이벤트가 없어 입력 시 변수에 값을 할당할 수 없는 문제를 해결하는 방법을 소개합니다.
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 중국어 홈페이지를 주목해주세요!
관련 추천:
WeChat 미니 프로그램
풀업 로딩과 풀다운 새로고침을 구현한 스크롤뷰의 예
위 내용은 WeChat 애플릿 텍스트 영역을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!