[ad_1]
Je construis un formulaire de manière dynamique et j’ai besoin d’un contrôle de saisie pour accepter uniquement les nombres entiers, ce qui ne permet pas de saisir des valeurs décimales, y compris des points. mais aucune des méthodes ne me fournit un résultat précis.
Ce que j’ai essayé :
<input type="text" class="form-control" id="@acs.CTL_NAME" @ref="@(_inputRefs[acs.SRNO - 1])" inputmode="numeric" @bind="bindData[acs.SRNO-1]" tabindex="@acs.TAB_INDEX" @oninput="@((ChangeEventArgs e) => HandleNumber(e,acs.SRNO-1))"> @code{ public string[] bindData; //array is initialized with null in other method which is working fine private void HandleNumber(ChangeEventArgs e,int index) { string inputValue = e.Value?.ToString(); inputValue = inputValue?.Replace(".", ""); bindData[index] = Regex.Replace(inputValue, @"[^\d]", ""); StateHasChanged(); } }
Solution 1
Utiliser type="number"
vous pouvez alors masquer les bascules :
CSS
input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; /* hide spinner buttons*/ } input[type=number] { -moz-appearance: textfield; /* Firefox - hide spinner buttons*/ }
[ad_2]
コメント