У меня есть поле ввода, в котором требование состоит в том, что он имеет 0 изначально установлено. При смене значения, что 0 удалено, и добавляется число, но что 0 удаляется только в том случае, если нажатый пользователем клавиша является номером. < /P>
Теперь возникает проблема, когда я Используйте входное событие. Он принимает мое значение как Sing Coted String как «8». Я использовал метод замены , но если я нажимаю на Backspace также на фокусировании, он добавляет .00 к числу, если он там.
Я также нашел проблему, когда моя Первоначально число составляет 0, и я нажимаю на ненужное значение, это делает мой номер установленным в ''. Также в обратном пространстве Keypress он должен разрешить обратное пространство и удалять 0. Он не должен давать ошибку, когда я удаляю последний номер не 0 после набора чего-либо и выполняю обратное пространство, но это дает ошибку, не может считывать свойства нулевого (чтение «Заменить» ) . Это также случай, поэтому это смесь различных случаев.
Some Label$
< /code>
removeZeroOnKeydown(event: InputEvent) {
let inputElement = event.target as HTMLInputElement;
//Get FormControl Name on keydown
let controlName = inputElement.getAttribute('formControlName');
if (!controlName) return;
let control = this.myformname.controls[controlName];
//Check Formcontrol input field value
let controlValue = control.value;
// If the input field only contains "0", replace it with the input data
if (controlValue == 0 || controlValue == '') {
//Get the keypressed value
let inputData = (event as InputEvent).data;
//let numberValue = inputData.replace(/'/g, "");
if (inputData && /^\d$/.test(inputData.replace(/'/g, ""))) {
//Set value of keypressed
control.setValue(inputData);
}
else {
if(controlValue == 0 && controlValue){
control.setValue(0);
}
else if(!/^\d$/.test(inputData.replace(/'/g, "")) && controlValue != 0) {
control.setValue('');
}
}
}
onFixedAmount(FormControlName) {
let amount = this.myformname.controls[FormControlName].value;
if (amount) {
this.myformname.controls[FormControlName].setValue(amount ? Number(amount).toFixed(2) : 0);
}
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... ngular-tex
Позвольте пользователю вводить номера только без особого символа или алфавита в угловом текстовом поле ⇐ Html
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение