Heim >Web-Frontend >HTML-Tutorial >So implementieren Sie die Methode zum Ermitteln der dynamischen Anzahl verbleibender Wörter im Textbereich

So implementieren Sie die Methode zum Ermitteln der dynamischen Anzahl verbleibender Wörter im Textbereich

高洛峰
高洛峰Original
2017-02-18 15:58:081415Durchsuche

Ich bin bei der Arbeit auf einen Fall gestoßen, über den ich noch nie geschrieben habe. Ich habe einen halben Nachmittag damit verbracht, ihn aufzuschreiben, aber er gibt mir auch das Gefühl, etwas erreicht zu haben. Für einen JS-Experten ist das natürlich nichts, aber für meine eigenen JS-Fähigkeiten ist es ein kleiner Fortschritt.

Falleinführung: Wir sehen oft, dass einige Websites Textfelder haben. Wenn Sie eingeben, wird unten eine Textaufforderung angezeigt, wie viele Wörter Sie eingeben können. Da eine Seite über mehrere Textbereiche verfügt, ist es natürlich nicht möglich, eine einzelne JS-Logik zur Steuerung zu verwenden, und diese muss auf kleine Weise gekapselt werden. Natürlich weist mein Paket noch einige Mängel auf, aber die Grundfunktionen werden erreicht.

Stellen Sie zunächst einen einzelnen Textbereich-Implementierungsfall vor

HTML-Teil:

<textarea id="text_txt1"></textarea>  
<span id ="num_txt1">剩余可输入600字</span>

JS-Teil:

$(function(){   
   $(&#39;#text_txt1&#39;).on(&#39;keyup&#39;,function(){   
       var txtval = $(&#39;#text_txt1&#39;).val().length;   
       console.log(txtval);   
      var str = parseInt(600-txtval);   
      console.log(str);   
        if(str > 0 ){   
          $(&#39;#num_txt1&#39;).html(&#39;剩余可输入&#39;+str+&#39;字&#39;);   
      }else{   
          $(&#39;#num_txt1&#39;).html(&#39;剩余可输入0字&#39;);   
          $(&#39;#text_txt1&#39;).val($(&#39;#text_txt1&#39;).val().substring(0,600)); //这里意思是当里面的文字小于等于0的时候,那么字数不能再增加,只能是600个字   
        }   
        //console.log($(&#39;#num_txt&#39;).html(str));   
    });   
})

Führen Sie dann mehrere Textarea-Implementierungsfälle auf derselben Seite ein

function changeLength(obj,num){   
    obj.on(&#39;keyup&#39;,function(){   
    var txtval = obj.val().length;   
        //console.log(txtval);   
        var str = parseInt(600-txtval);   
        //console.log(str);   
        if(str > 0 ){   
            num.html(&#39;剩余可输入&#39;+str+&#39;字&#39;);   
        }else {   
            num.html(&#39;剩余可输入0字&#39;);   
            obj.val(obj.val().substring(0, 600));   
        }   
        //console.log($(&#39;#num_txt&#39;).html(str));   
    });   
}   
$(function(){ //我这里有四个,所以调用4次   
    changeLength($(&#39;#text_txt1&#39;),$(&#39;#num_txt1&#39;));   
    changeLength($(&#39;#text_txt2&#39;),$(&#39;#num_txt2&#39;));   
    changeLength($(&#39;#text_txt3&#39;),$(&#39;#num_txt3&#39;));   
    changeLength($(&#39;#text_txt4&#39;),$(&#39;#num_txt4&#39;));   
});

Natürlich kann die tatsächliche Anzahl der hier erforderlichen Wörter auch in der Funktion gekapselt werden, aber das werde ich tun nicht kapseln. Auf diese Weise wird bei der Eingabe von Text automatisch die verbleibende Wortanzahl innerhalb der Spanne angezeigt. Wenn der Eingabewert den Maximalwert erreicht, wird die verbleibende Wortanzahl als 0 angezeigt und es kann kein neuer Inhalt eingefügt werden. Wenn Text gelöscht wird, kann span die verbleibende Anzahl an Wörtern dynamisch abrufen.

Das Folgende ist der Code anderer Leute, dieses Mal habe ich mir auch die Schreibmethoden einiger anderer Leute ausgeliehen

html:

<p class="family_v2">  
    <p class="nickname_v2">简介:</p>  
     <textarea id="content" name="sign" style="height:60px;overflow-y: hidden;"  
     onkeyup="changeLength(this,60)" class="nicknameBox_v2 brief_box_v2">  
     </textarea>  
     <p class="limit_num_v2">  
         <h3>60</h3>  
    </p>  
 </p>

js:

//验证textarea的长度   
function changeLength(obj,lg){   
    var len = $(obj).val();   
    $(obj).next().find("h3").text(lg-len.length);   
    if(len.length>=lg){   
        $(obj).next().find("h3").text(0);   
        $(obj).val(len.substring(0,lg));   
    }   
}

Der obige Artikel zum Ermitteln der dynamischen Anzahl verbleibender Wörter im Textbereich ist der gesamte vom Herausgeber geteilte Inhalt. Ich hoffe, dass er Ihnen eine Referenz geben kann, und ich hoffe, dass Sie dies auch tun werden Unterstützen Sie die chinesische PHP-Website.

Weitere verwandte Artikel zum Ermitteln der dynamischen Anzahl verbleibender Wörter im Textbereich finden Sie auf der chinesischen PHP-Website!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn