Позвольте пользователю вводить номера только без особого символа или алфавита в угловом текстовом полеHtml

Программисты Html
Ответить Пред. темаСлед. тема
Anonymous
 Позвольте пользователю вводить номера только без особого символа или алфавита в угловом текстовом поле

Сообщение Anonymous »

У меня есть поле ввода, в котором требование состоит в том, что он имеет 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Html»