【问题标题】:Why doesn't my javascript function allow dot but instead allows hyphen?为什么我的 javascript 函数不允许点,而是允许连字符?
【发布时间】:2016-04-16 11:35:32
【问题描述】:

我正在使用此代码只允许在文本框中输入数字,但现在我也想允许 .。我修改了这段代码,但不是允许.,而是允许连字符-

function isNumberKeyDotAllowed(evt) {
    var charCode = evt.which ? evt.which : evt.keyCode;
    if (charCode == 46 || (48 <= charCode && charCode <= 57)) {
        return true;
    }
    else {
        return false;
    }
}

按钮:

<asp:TextBox runat="server" ID="txtBoxAreaSqft" OnTextChanged="txtBoxAreaSqft_TextChanged"
                                                    PlaceHolder="Enter Digits Only" onkeypress="return isNumberKeyDotAllowed(event)" Enabled="true" AutoPostBack="true" CssClass="form-control"></asp:TextBox>

【问题讨论】:

标签: javascript jquery asp.net validation


【解决方案1】:

在 html 中尝试一次 onKeydown 而不是 onKeypress 可能会有所帮助,因此它的更新值不匹配

【讨论】:

    【解决方案2】:

    试试这个:

      <asp:TextBox ID="txt" runat="server" onkeydown="return isNumOrDot(event)" />
    
    <script>
    function isNumOrDot(e){
        var nums = [48,49,50,51,52,53,54,55,56,57,190/*dot*/,
                    96,97,98,99,100,101,102,103,104,105,/*Num keys*/
                    110 /*num dot*/];
        return nums.indexOf(e.which)>-1;
    }
    </script>
    

    onkeydown="return... 是关键。

    【讨论】:

      猜你喜欢
      • 2019-06-01
      • 2020-11-03
      • 2019-01-23
      • 1970-01-01
      • 2017-12-10
      • 2011-01-31
      • 1970-01-01
      • 2011-08-17
      • 1970-01-01
      相关资源
      最近更新 更多