Maison >Applet WeChat >Développement WeChat >Explication détaillée et utilisation simple de la zone de texte du mini programme WeChat

Explication détaillée et utilisation simple de la zone de texte du mini programme WeChat

高洛峰
高洛峰original
2017-04-25 10:43:262982parcourir

Solution simple de 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 lors de 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 : combinez le formulaire from et la saisie dans la zone de texte de la zone de texte, puis cliquez sur le bouton Soumettre. À ce stade, l'événement textarea sera exécuté en premier (obtenez le contenu d'entrée de la zone de texte. ), puis la soumission des données sera exécutée. De cette façon, 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  : &#39;&#39;
 },
 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(&#39;内容为12-500个字符&#39;,&#39;loading&#39;,1200);
    }else{
     this.setData({
       evaContent : e.detail.value
     });
    }
   }else{
    this.setData({
      evaContent : &#39;&#39;
    });
    evaData.evaContent = &#39;&#39;;
    app.func.showToast(&#39;请输入投诉内容&#39;,&#39;loading&#39;,1200);
   }
 },
 //提交事件
 evaSubmit:function(eee){  
  var that = this;
  //提交(自定义的get方法)
  app.func.req(&#39;http://localhost:1111/ffeva/complaint?content=&#39;&#39;+this.data.evaContent),get,function(res){
      console.log(res);
      if(res.result===&#39;1&#39;){
       //跳转到首页
       app.func.showToast(&#39;提交成功&#39;,&#39;loading&#39;,1200);
      }else{
       app.func.showToast(&#39;提交失败&#39;,&#39;loading&#39;,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 !

Pour des explications plus détaillées et une utilisation simple de la zone de texte de l'applet WeChat, veuillez faire attention au site Web PHP chinois !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn