好的,所以我不知道关于knockout.js的第一件事,这可能是我的问题。 我正在维护一个ASP.NET应用程序,我的任务是更改一个html 在使用knockout.js的解决方案中的文件。以下是有问题的代码行:
<input type="number" class="form-control" data-bind="value: Quantity, uniqueId: Quantity, uniqueMod: 'measure-quantity', enable: IsNotListMeasureIndividually() && !IsNotInstalled()" />
此输入标记允许用户输入负数,我们不想允许。所以我尝试的是添加min =&#34; 1&#34;到标签。结果是它被忽略然后转移到下一组代码行 然后爆炸了。
min是不起作用的原因是因为这不仅仅是一个简单的输入标记,并且在data-bind中包含了敲除引用? 如果是这样,我怎样才能进行所需的验证 只接受正数?请帮助并记住我对淘汰赛一无所知。谢谢!!
答案 0 :(得分:0)
尝试这样的事情。使用javascript忽略否定符号的按键。我不认为所有浏览器都支持数字类型当然你需要正确的句柄来将keydown事件分配给正确的输入框。
document.getElementByTagName('input')[0].addEventListener('keydown',function(e){
if ( event.which == 109 || event.which == 173 ) {
event.preventDefault();
}
});
这与min =“0”属性相结合将阻止数字块允许负数。