Cet article présente principalement l'explication détaillée et l'utilisation simple de la zone de texte de l'applet WeChat. Voici l'exemple de code d'implémentation et la méthode pour résoudre le problème selon lequel la zone de texte n'a pas d'événement bindchange et ne peut pas attribuer de valeurs aux variables lors de la saisie. ceux qui en ont besoin peuvent se référer à ce qui suit
Solution simple pour la zone de texte de l'applet WeChat
Il n'y a pas d'événement bindchange pour la zone de texte dans l'applet WeChat, donc les variables ne peuvent pas se voir attribuer de valeurs pendant la saisie.
Bien que l'événement bindblur puisse être utilisé, si vous liez l'événement bindblur et cliquez à nouveau sur le bouton, l'événement bouton sera exécuté en premier, puis l'événement bindblur sera exécuté, donc la valeur d'entrée ne peut pas être obtenue dans le fichier js,
Solution : Combiné avec le formulaire from, après avoir saisi la zone de texte textarea, cliquez sur le bouton Soumettre. À ce moment, l'événement textarea sera exécuté. d'abord (récupérez le contenu d'entrée de la zone de texte), puis les données seront exécutées. Soumettez, le problème est résolu
code du fichier 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>
code du fichier 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); } }); } })
Inconvénients :
Après cette opération, la fonction sera défectueuse. Par exemple, le nombre de caractères saisis dans la zone de texte de l'utilisateur ne peut pas être obtenu immédiatement. S'il existe une meilleure solution, j'espère que vous pourrez la découvrir ! Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois ! Recommandations associées :Analyse de onLoad dans le programme WeChat Mini
Programme WeChat Mini
Exemple de vue déroulante implémentant le chargement pull-up et l'actualisation déroulante
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!