除了所有其他问题外,我还遇到了奇怪的问题。我正在创建 ASP.NET MVC 应用程序。我正在使用 flexigrid 并尝试使用模态对话框。在 IE、Google Chrome 和 Opera 中,我只能在 Client No control 中输入数字,但在 FireFox 中我无法输入任何内容。
这是控件的呈现方式:
<div id="add-edit-dialog" class="ui-dialog-content ui-widget-content" style="width: auto; min-height: 0px; height: 622px;" scrolltop="0" scrollleft="0">
<form id="add-edit-form" novalidate="novalidate">
<fieldset>
<legend>Client Info</legend>
<input id="fntype" type="hidden" name="fntype" value="">
<input id="ClientId" type="hidden" value="" name="ClientId" data-val-number="The field ClientId must be a number." data-val="true">
<div class="editor-label" style="background-color: rgb(255, 255, 255);">
<div class="editor-field" style="background-color: rgb(255, 255, 255);">
<input id="ClientNumber" class="numericOnly input-validation-error" type="number" value="" name="ClientNumber" data-val-required="The Client No field is required." data-val-remote-url="/Client/doesClientNoExist" data-val-remote-type="POST" data-val-remote-additionalfields="*.ClientNumber,*.ClientId" data-val-remote="Client Number already exists. Please enter a different Client Number." data-val-number="The field Client No must be a number." data-val="true">
<span class="field-validation-error" data-valmsg-replace="true" data-valmsg-for="ClientNumber">
我正在使用我自己的类 numericOnly 并输入数字(在 Google Chrome 中显示为微调器)。
我有 CardNumbers.js 文件,我以这种方式定义 numericOnly 类:
$(".numericOnly").keypress(function (e) {
if (String.fromCharCode(e.keyCode).match(/[^0-9]/g)) return false;
});
上面的代码是我不久前在 StackOverflow 的一个问题中找到的,它在其他浏览器中运行良好。
那么,您是否看到这里可能出了什么问题以及为什么我只能在 FireFox 中输入任何内容?