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

高洛峰
Libérer: 2017-04-25 10:43:26
original
2977 Les gens l'ont consulté

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>
Copier après la connexion

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);
      }
  });
 }
})
Copier après la connexion

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 !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal