Hi Dear Syncfusion
Working with the Input Mask component, I want to perform two things.
|
public void ValueChangedHandler(MaskChangeEventArgs args)
{
var maskedvalue = _maskedRef.GetMaskedValue();
StringBuilder str = new StringBuilder(maskedvalue);
for (int i = 0; i < maskedvalue.Length; i++)
{
if (!numberpattern.IsMatch(maskedvalue[i].ToString()))
{
str[i] = '0';
}
}
this._value = str.ToString();
//MaskValue = _value;
//IJSRuntime.InvokeVoidAsync("SetCaretPosition", "mask");
} |
|
<SfMaskedTextBox @ref="_maskedRef"
ID="mask"
Mask="00000-00"
@oninput="inputhandler" @onkeypress="OnkeyPress" PromptChar='@prompt' ValueChange="ValueChangedHandler"> </SfMaskedTextBox>
@code {
private char prompt { get; set; } = '0';
} |
|
<SfMaskedTextBox @ref="_maskedRef"
ID="mask"
Mask="00000-00"
@oninput="inputhandler" @onkeypress="OnkeyPress" PromptChar='@prompt' ValueChange="ValueChangedHandler"> </SfMaskedTextBox>
<br />
<br />
Value in required format : @_value
@code {
private void inputhandler(Microsoft.AspNetCore.Components.ChangeEventArgs args)
{
//var k = args;
IJSRuntime.InvokeVoidAsync("SetCaretPosition", "mask");
}
} |
|
window.SetCaretPosition = (id) => {
var maskObj = document.getElementById(id);
maskObj.selectionStart = 2;
maskObj.selectionEnd = 2;
}
|