Wie schaffe ich es, dass im textbox der User ein Leerzeichen eingibt?

opijkkk

Grünschnabel
Hallo zusammen

Ich brauche dringend Hilfe. Ich komme nicht weiter. Ich habe seit Wochen an dem unten dargestellten Code gearbeitet. Ich habe einen Teil geschafft, der andere bereitet mir Schwierigkeiten. Ich versuche, dass der Computer im Textbox die Menge der Buchstaben erkennt. Nach allen sechs Buchstaben sollte er automatisch ein Leerzeichen eingeben. Dies konnte ich schaffen. Doch leider mit dem dargestellten Code kann der User kein Leerzeichen in dem Textbox eingeben. Ich will, dass der USer dies tun kann und dass der Computer nach allen 6 Buchstaben ein Leerzeichen eingibt. Wie kann ich dieses Problem einlösen. Vielen Dank

Code:
<input ID="TextBox1"  placeholder="Write messages..." MaxLength="100"></input>
<script>var isAndroid = navigator.userAgent.indexOf("ndroid") > -1;
var element = document.getElementById('TextBox1');
element.addEventListener('input', function () {     if (isAndroid) {         // For android 7+ the update of the cursor location is a little bit behind, hence the little delay.         setTimeout(reformatInputField);         return;     }     reformatInputField(); });


function reformatInputField() {     function format(value) {         return value.replace(/[^\dA-Z]/gi, '')             .toUpperCase()             .replace(/(.{6})/g, '$1 ')             .trim();     }     function countSpaces(text) {         var spaces = text.match(/(\s+)/g);         return spaces ? spaces.length : 0;     }


    var position = element.selectionEnd;     var previousValue = element.value;     element.value = format(element.value);


    if (position !== element.value.length) {         var beforeCaret = previousValue.substr(0, position);         var countPrevious = countSpaces(beforeCaret);         var countCurrent = countSpaces(format(beforeCaret));         element.selectionEnd = position + (countCurrent - countPrevious);     } }</script>
 
Zurück