1

asp.net MVC3アプリケーションで問題のヘルプが必要です通貨形式($ 228.00)を検証するテキストボックスがありますが、このテキストボックスでは、DELキー.と削除キーが同じASCIIキーを持っているため機能しません46 。また、このテキストボックスで検証を設定しました。.テキストボックスで受け入れられるのは1回だけなので、「。」一度入力すると削除は機能しません。

これが私の検証Javascriptです:

function validateForCharacter(val, id, e) {
    window.event.keyCode : -1;
    var key = e.keyCode || e.charCode || e.which;
    var currentChar = String.fromCharCode(key);
    if (val.indexOf(currentChar) != -1 && currentChar == ".")
    {
           return false;
    }
    if (key >= 48 && key <= 57 || key == 46 || e.keyCode === 8 || e.keyCode === 9 || e.keyCode === 37 || e.keyCode === 35 || e.keyCode === 39)
    {
           $(this).val("");
           return true;
    }
    return false;
 }

これは、テキストボックスのビュー(Html)コードです。

<input type="text" id="t1" onkeypress="return validateForCharacter(value, id, event)/>
4

1 に答える 1

0

Jqueryはそれを正しく行います...しかし、FirefoxまたはIE9で特に削除キーを検出する必要がある場合は、event.keyプロパティを使用できます。

いいえ:

if (event.key == "Delete")

ライブデモ:

$(document).ready(function() {
  $("#nondeletable").on("keydown", function(event) {
    $("#result").html(event.type + ": " + event.which);
    if (event.key == "Delete")
      $("#result").append(" <b>Delete!</b>");
  });


});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="nondeletable" />
<div id="result"></div>

于 2015-09-18T21:41:57.463 に答える