📄 maskededitbehavior.js
字号:
{
this.setSelectionRange(curpos,curpos);
}
}
if (value == null || value == "")
{
return;
}
if (value.length > this._maskvalid.length)
{
value = value.substring(0,this._maskvalid.length);
}
curpos = this._deleteTextSelection();
if (curpos == -1)
{
curpos = this._getCurrentPosition();
if (BoundSel)
{
curpos = BoundSel.left;
}
}
this.setSelectionRange(curpos,curpos);
var ReturnPosDec = false;
if (this._InputDirection == AjaxControlToolkit.MaskedEditInputDirections.RightToLeft && this._LogicLastInt != -1)
{
ReturnPosDec = true;
}
var i = 0;
for (i = 0; i < value.length;i++)
{
var c = value.substring(i,i+1);
var logiccur = curpos;
if (ReturnPosDec)
{
logiccur = this._getLastEmptyPosition();
}
if ( (this._MaskType == AjaxControlToolkit.MaskedEditType.Time || this._MaskType == AjaxControlToolkit.MaskedEditType.DateTime) && this.get_CultureFirstLettersAMPM().toUpperCase().indexOf(c.toUpperCase()) != -1)
{
if (this._AcceptAmPm)
{
this.InsertAMPM(c);
this.setSelectionRange(curpos,curpos);
}
}
else if (this._MaskType == AjaxControlToolkit.MaskedEditType.Number && this._AcceptNegative != AjaxControlToolkit.MaskedEditShowSymbol.None && "+-".indexOf(c) != -1)
{
this.InsertSignal(c);
this.setSelectionRange(curpos,curpos);
}
else
{
var OriPos = curpos;
curpos = this._getNextPosition(curpos);
var logiccur = curpos;
if (this._LogicLastInt != -1 && this._InputDirection == AjaxControlToolkit.MaskedEditInputDirections.RightToLeft)
{
if (OriPos == this._LogicLastInt)
{
logiccur = this._getLastEmptyPosition();
}
}
else
{
if (curpos >= this._LogicLastPos+1 && this._InputDirection == AjaxControlToolkit.MaskedEditInputDirections.RightToLeft)
{
logiccur = this._getLastEmptyPosition();
}
}
if (this._processKey(logiccur,c))
{
if (this._MessageValidatorTip)
{
this.ShowTooltipMessage(false);
}
if (this._InputDirection == AjaxControlToolkit.MaskedEditInputDirections.LeftToRight)
{
this._insertContent(c,logiccur);
curpos = this._getNextPosition(logiccur+1);
}
else if (this._InputDirection == AjaxControlToolkit.MaskedEditInputDirections.RightToLeft)
{
if (this._LogicLastInt == -1)
{
if (curpos < this._LogicLastPos+1)
{
this._insertContent(c,logiccur);
curpos = this._getNextPosition(logiccur+1);
}
else
{
this._insertContentRight(c);
curpos = this._LogicLastPos+1;
}
}
else
{
if (OriPos != this._LogicLastInt)
{
this._insertContent(c,logiccur);
curpos = this._getNextPosition(logiccur+1);
}
else
{
this._insertContentRight(c);
curpos = this._LogicLastInt;
}
}
}
this.setSelectionRange(curpos,curpos);
}
}
}
if (ReturnPosDec)
{
this.setSelectionRange(this._LogicLastInt,this._LogicLastInt);
}
}
//
// Move cursor to decimal position (LeftToRight and RightToLeft Mode)
//
, _MoveDecimalPos : function()
{
var e = this.get_element();
var wrapper = AjaxControlToolkit.TextBoxWrapper.get_Wrapper(e);
var curpos = this._LogicFirstPos;
var max = this._LogicLastPos;
var posDc = -1;
while (curpos < max)
{
if (wrapper.get_Value().substring(curpos,curpos+1) == this.get_CultureDecimalPlaceholder())
{
posDc = curpos;
break;
}
curpos++;
}
if (posDc == -1)
{
return;
}
this.setSelectionRange(posDc,posDc);
}
//
// Move cursor to next Thousand position (LeftToRight Mode)
//
, _MoveThousandLTR : function()
{
var e = this.get_element();
var wrapper = AjaxControlToolkit.TextBoxWrapper.get_Wrapper(e);
var curpos = this._getCurrentPosition();
var max = this._LogicLastPos;
var cur = curpos+1;
var posTh = -1;
while (cur < max)
{
if (wrapper.get_Value().substring(cur,cur+1) == this.get_CultureThousandsPlaceholder())
{
posTh = cur;
break;
}
cur++;
}
if (posTh == -1)
{
var cur = 0;
max = curpos;
while (cur < max)
{
if (wrapper.get_Value().substring(cur,cur+1) == this.get_CultureThousandsPlaceholder())
{
posTh = cur;
break;
}
cur++;
}
if (posTh == -1)
{
return;
}
}
this.setSelectionRange(posTh,posTh);
}
//
// Move cursor to next Thousand position (RightToLeft Mode)
//
, _MoveThousandRTL : function()
{
var e = this.get_element();
var wrapper = AjaxControlToolkit.TextBoxWrapper.get_Wrapper(e);
var curpos = this._getCurrentPosition();
var min = this._LogicFirstPos;
var cur = curpos-1;
var posTh = -1;
while (cur > min)
{
if (wrapper.get_Value().substring(cur,cur+1) == this.get_CultureThousandsPlaceholder())
{
posTh = cur;
break;
}
cur--;
}
if (posTh == -1)
{
cur = this._LogicLastPos;
min = curpos;
while (cur > min)
{
if (wrapper.get_Value().substring(cur,cur+1) == this.get_CultureThousandsPlaceholder())
{
posTh = cur;
break;
}
cur--;
}
if (posTh == -1)
{
return;
}
}
this.setSelectionRange(posTh,posTh);
}
//
// adjust element Number to Decimal position (LeftToRight Mode)
//
, _AdjustElementDecimalLTR : function()
{
var e = this.get_element();
var wrapper = AjaxControlToolkit.TextBoxWrapper.get_Wrapper(e);
var curpos = this._getCurrentPosition();
if (wrapper.get_Value().substring(curpos).indexOf(this.get_CultureDecimalPlaceholder()) == -1)
{
//after decimal position
return;
}
var value = wrapper.get_Value().substring(this._LogicFirstPos,this._LogicLastPos+1);
var newcur = value.indexOf(this.get_CultureDecimalPlaceholder());
if (newcur == -1)
{
//decimal not exist
return;
}
var arr_num;
ClearText = this._getClearMask(wrapper.get_Value());
if (ClearText != "")
{
ClearText = ClearText.replace(new RegExp("(\\" + this.get_CultureThousandsPlaceholder() + ")", "g"), "") + '';
arr_num = ClearText.split(this.get_CultureDecimalPlaceholder());
}
else
{
arr_num = this.get_CultureDecimalPlaceholder().split(this.get_CultureDecimalPlaceholder());
}
if (arr_num[0] == "")
{
arr_num[0] = "0";
}
// fill decimal
var QtdDec = value.length - newcur - 1;
while (arr_num[1].length < QtdDec)
{
arr_num[1] += "0";
}
var OldDir = this._InputDirection;
this._InputDirection = AjaxControlToolkit.MaskedEditInputDirections.RightToLeft;
this.loadValue(arr_num[0] + this.get_CultureDecimalPlaceholder() + arr_num[1],this._LogicLastPos);
this._InputDirection = OldDir;
newcur += this._LogicFirstPos + 1;
this.setSelectionRange(newcur,newcur);
}
//
// adjust element Number to Decimal position (RightToleft Mode)
//
, _AdjustElementDecimalRTL : function()
{
var wrapper = AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element());
var value = wrapper.get_Value().substring(this._LogicFirstPos,this._LogicLastPos+1);
var posdec = value.indexOf(this.get_CultureDecimalPlaceholder());
if (posdec == -1)
{
//decimal not exist
return;
}
var curpos = this._getCurrentPosition();
if (posdec + this._LogicFirstPos >= curpos)
{
//before decimal position , EXECUTE LTR MODE
this._AdjustElementDecimalLTR();
return;
}
var arr_num;
ClearText = this._getClearMask(wrapper.get_Value());
if (ClearText != "")
{
ClearText = ClearText.replace(new RegExp("(\\" + this.get_CultureThousandsPlaceholder() + ")", "g"), "") + '';
arr_num = ClearText.split(this.get_CultureDecimalPlaceholder());
}
else
{
arr_num = this.get_CultureDecimalPlaceholder().split(this.get_CultureDecimalPlaceholder());
}
if (arr_num[0] == "")
{
arr_num[0] = "0";
}
// fill decimal
var QtdDec = value.length - posdec - 1;
while (arr_num[1].length < QtdDec)
{
arr_num[1] += "0";
}
var OldDir = this._InputDirection;
this._InputDirection = AjaxControlToolkit.MaskedEditInputDirections.RightToLeft;
this.loadValue(arr_num[0] + this.get_CultureDecimalPlaceholder() + arr_num[1],this._LogicLastPos);
this._InputDirection = OldDir;
posdec += this._LogicFirstPos + 1;
this.setSelectionRange(posdec,posdec);
}
//
// adjust Time Format
//
, _AdjustTime : function(value,ValueDefault)
{
var emp = true;
var i
for (i = 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -