[英]MaskedEditExtender Is Too Hard to Use For Money
MaskedEditExtender 在执行规则方面做得很好,但我的用户在输入它的 TextBox 时遇到了麻烦。
我想在获得焦点时选择我的 TextBox 的所有内容。
常规的 JavaScript 解决方案不起作用。
onfocus="javascript:this.select();"
MaskedEditExtender 干扰。
获得焦点时如何选择 TextBox 的所有内容?
<asp:TextBox
ID="TextBoxPrice"
runat="server" />
<ajaxToolkit:MaskedEditExtender
ID="MaskedEditExtenderTextBoxPrice"
runat="server"
TargetControlID="TextBoxPrice"
Mask="9,999.99"
MaskType="Number"
MessageValidatorTip="False"
OnFocusCssClass="MaskedEditFocus"
OnInvalidCssClass="MaskedEditError"
InputDirection="RightToLeft"
AcceptNegative="None"
DisplayMoney="Left" />
<ajaxToolkit:MaskedEditValidator
ID="MaskedEditValidatorTextBoxPrice"
runat="server"
ControlToValidate="TextBoxPrice"
ControlExtender="MaskedEditExtenderTextBoxPrice"
Display="Dynamic"
IsValidEmpty="False"
EmptyValueMessage="Price is required"
InvalidValueMessage="Price is invalid"
MinimumValue= "0.01"
MinimumValueMessage="Price is too small"
MaximumValue="9999.99"
MaximumValueMessage="Price is too large" />
使用这个脚本:
<script type="text/javascript"> function selectAllCharsBefore(inputText, char) { setTimeout(function () { if (!inputText) return false; var indexChar = inputText.value.indexOf(char); if (indexChar != -1) createSelection(inputText, 0, indexChar) }, 100); return true; } function whatDecimalSeparator() { var n = 1.1; n = n.toLocaleString().substring(1, 2); return n; } function createSelection(field, start, end) { if (field.createTextRange) { var selRange = field.createTextRange(); selRange.collapse(true); selRange.moveStart('character', start); selRange.moveEnd('character', end); selRange.select(); field.focus(); } else if (field.setSelectionRange) { field.focus(); field.setSelectionRange(start, end); } else if (typeof field.selectionStart != 'undefined') { field.selectionStart = start; field.selectionEnd = end; field.focus(); } } </script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.