Razor 文本框类型不起作用

用户1186050

使用下面看到的文本框剃须刀类型,我可以将 maxlength 设置为 4,但是当尝试将类型设置为数字时,我仍然可以输入字符并且它还允许超过 4 个字符,但数字仍然限制为 4。我试过了

pattern = "\\d*"

这也允许字符。不适用于 Chrome 和 IE

@Html.TextBox("smsCode", null, new { @class = "form-control", maxlength="4", type="number" })
山本哲也

@Html.TextBox生成<input>元素,根据MDN 文档, maxlength当输入元素设置为<input type="number">.

如果type 属性的值为textemailsearchpasswordtel、 或url,则该属性指定用户可以输入的最大字符数(以 Unicode 代码点表示);对于其他控件类型,它被忽略。

因此,您需要一些解决方法来实现最大长度的数字输入:

1)type="number"TextBox/ TextBoxForhelper 中删除属性并确保您拥有id文本框。

@Html.TextBox("smsCode", null, new { @class = "form-control", maxlength="4", id="smsCode" })

2) 使用keydownDOM 事件来阻止任何其他输入,而不是针对文本框的数值和特殊键(例如,使用 jQuery,基于@SpYk3HH的回答here)。

$("#smsCode").keydown(function (e) {
    // Allow some keys: backspace, delete, tab, escape, enter etc.
    if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
        // Allow select all
        (e.keyCode === 65 && (e.ctrlKey === true || e.metaKey === true)) || 
             // Allow home, end, left, right, down & up keys
            (e.keyCode >= 35 && e.keyCode <= 40)) {
                 return;
        }

        // Ensure the input has numeric values
        if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
            e.preventDefault();
        }
});

然后,检查生成的文本框是否只接受数值。

工作示例:DotNET Fiddle

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

类型文本后,innerHTML文本框不起作用

来自分类Dev

使文本框数组不起作用

来自分类Dev

MVC Razor-文本框类型日期的默认值为“当前日期”

来自分类Dev

在Razor视图中将模型绑定到文本框

来自分类Dev

与文本框水平内联的按钮Razor视图

来自分类Dev

输入文本框的jQuery悬停事件不起作用

来自分类Dev

数据绑定到文本框不起作用

来自分类Dev

动态添加文本框不起作用

来自分类Dev

更改文本框的值不起作用

来自分类Dev

自动完成文本框.NET不起作用

来自分类Dev

项目模板中的文本框验证不起作用

来自分类Dev

OnClick按钮刷新文本框不起作用

来自分类Dev

数据绑定到文本框不起作用

来自分类Dev

文本框为空时,onkeyup不起作用

来自分类Dev

如果文本框为空不起作用

来自分类Dev

自动填充文本框不起作用

来自分类Dev

取消屏蔽密码文本框不起作用

来自分类Dev

wpf 文本框背景颜色不起作用

来自分类Dev

检查文本框是否包含不起作用的单词

来自分类Dev

动态文本框的 Fire TextChanged 事件不起作用

来自分类Dev

Kendo UI参考在Razor视图中不起作用

来自分类Dev

下拉菜单不起作用MVC C#Razor

来自分类Dev

ASP.NET Razor页面模型绑定不起作用

来自分类Dev

为什么@for循环在Razor和Blazor中不起作用?

来自分类Dev

为什么@for循环在Razor和Blazor中不起作用?

来自分类Dev

为什么@for循环在Razor和Blazor中不起作用?

来自分类Dev

循环中的变量不起作用(C#+ Razor)

来自分类Dev

将类实例化为razor宏(不起作用)

来自分类Dev

Razor intellisense在Visual Studio 2012中不起作用