微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

允许@textboxfor中的整数不带逗号或点

如何解决允许@textboxfor中的整数不带逗号或点

因此,我创建了一个带有@ html.textBox的Razor页面,该页面只允许数字。我将类型更改为数字,但是仍然可以在测试时接受逗号和点。我尝试了一些onchange函数来从该文本框中获取值,将所有逗号或点替换为空白,然后返回同一文本框。我设法仅使用第二个文本框进行测试,但是我不希望这种行为。我希望textBoxfor具有与尝试键入任何字母时相同的行为。这意味着什么都不做。我刚刚开始学习C#/ Asp.net,但在Google上找不到任何东西。也许我不是在寻找正确的名字,所以对于我应该研究的内容的任何提示或指导将不胜感激。

解决方法

我实际上发现了一些效果很好的东西。以防万一有人要使用它。

首先,我创建了TextboxFor并删除了数字类型:

@Html.TextBoxFor(i => i.price,new {  @id = "amount",@onInput = "javascript: replaceComma('amount'); "})

然后,我添加了此javascript以空值替换所有非数字char:

<script type="text/javascript">
function replaceComma(i) {
        var val = document.getElementById(i).value;
        val = val.replace(/[^0-9]+/g,'')
        document.getElementById(i).value = val;
    }
</script>

我不确定这是否是最好的方法,但现在看来似乎可以使用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。