2017-08-31 3 views
0

Wie können wir die Anzahl der Zeichen in das Textfeld in Javascript eingegeben zählen? Lass mich wissen, was ich verpasst habe.Javascript Zeichen oder Zahlen zählen

function count1() { 
 
    var len = Number(document.getElementById("num1").value); 
 
    var n = len.length; 
 
    document.getElementById("demo1").innerHTML = n; 
 
}
<!doctype html> 
 
<html> 
 
    <head></head> 
 
    <body> 
 
    Enter Num: <input id="num1"> 
 
    <button onclick="count1()">Try it</button> 
 
    <input id="demo1"> 
 
    </body> 
 
</html>

+0

Warum Sie den Wert in eine Zahl umwandeln? Die len-Variable sollte der Inhalt sein (als String) und Sie können die Länge dieser Zeichenfolge finden. –

+2

Sie geben Ihre Ergebnisse in einem Eingabefeld aus. Ändern Sie Ihre .innerHTML in .value. – Trig3rz

Antwort

1

Sie müssen lediglich length der ersten Eingabe des bekommen value und setzen ihn auf den zweiten Eingang des value (statt innerHTML der Verwendung):

function count1() { 
 
    var len = document.getElementById('num1').value.length; 
 
    document.getElementById("demo1").value = len; 
 
}
<!doctype html> 
 
<html> 
 
    <head></head> 
 
    <body> 
 
    Enter Num: <input id="num1"> 
 
    <button onclick="count1()">Try it</button> 
 
    <input id="demo1"> 
 
    </body> 
 
</html>

+1

Vielen Dank ..Es hat funktioniert – SReddy

+0

@SReddy Ich bin froh zu helfen, Sie können meine Antwort dann akzeptieren. –

2

Es besteht keine Notwendigkeit von Number & ersetzen innerHTML mit value der für input.The Vorrangiges Ziel der Number entsprechendes Attribut ist ein Argument zu einem Number.For Beispiel "1", die eine Zeichenfolge in 1 umgewandelt wird, ist zu konvertieren, aber es wird nicht in der Lage, Alphabete oder Zeichen in Zahlen umzuwandeln. In Ihrem Fall, wenn Sie die Nummer verwenden, wird es zurückgeben ein NaN

function count1() { 
 
    var len = (document.getElementById("num1").value).length; 
 
    document.getElementById("demo1").value = len; 
 
}
Enter Num: <input id="num1"> 
 
<button onclick="count1()">Try it</button> 
 
<input id="demo1">

0

Sie direkt den String und die length Eigenschaft für die Zuordnung zu dem Wert Eigenschaft des Textfeldes nehmen könnte.

function count1() { 
 
    document.getElementById("demo1").value = document.getElementById("num1").value.length; 
 
}
Enter Num: <input id="num1"> 
 
<button onclick="count1()">Try it</button> 
 
<input id="demo1">

0

Number() Funktion ist unbrauchbar!
und value statt innerHTML verwenden, um den Eingangs Element Text

function count1() { 
 
    var len = document.getElementById("num1").value; 
 
    var n = len.length; 
 
    document.getElementById("demo1").value = n.toString(); 
 
}
<html> 
 
<head> 
 
</head> 
 
<body> 
 
Enter Num: <input id="num1"> 
 
<button onclick="count1()">Try it</button> 
 
    <input id="demo1"> 
 
</body> 
 
</html>

+1

Warum ist 'toString()' in 'n.toString()' notwendig? –

+0

@torazaburo ist es nicht, der Interpreter verwandelt es in String! nur eine Angewohnheit, die Zahlen in String umzuwandeln :) –

0

Versuchen Sie, diese

JS

function count1() { 
    var len = (document.getElementById("num1").value).length; 
    document.getElementById("demo1").value = len; 
} 
zu ändern Hier

HTML

Enter Num: <input id="num1"> 
<button onclick="count1()">Try it</button> 
<input id="demo1"> 
0

ist ein Beispiel in Javascript, die die Zählung für eine Texteingabe aktualisiert, wie Sie schreiben:

document.querySelector('input[name="firstname"]').oninput=updateCount; 
 
function updateCount(event) { 
 
    var countSpan = document.querySelector('span#count'); 
 
    countSpan.textContent = event.target.value.length; 
 
}
<label for="firstname">First Name</label> 
 
<input name="firstname" type="text"/> 
 
<div> 
 
    Your first name has <span id="count">0</span> letters. 
 
</div>