0

HTMLに入力テキストボックスがあり、ユーザーに「Y」または「N」のみを許可したいのですが、ユーザーが他の文字を入力しようとすると、警告ダイアログボックスが表示されます。誰か私をdisに助けてくれませんか??

4

5 に答える 5

0

前述のように、最良のオプションはラジオ ボタンを使用することです。

<input type="radio" name="yn" value="Y">Y<br>
<input type="radio" name="yn" value="N">N<br>

次に、いずれかを選択済みとして設定するか、送信時に選択済みであることを確認します。または、スクリプト化された入力要素を使用できますが、賢明ではありません。

<script>
function validateYN(element) {
  var errNode = document.getElementById(element.id + '_err');
  if(/^[YN]$/.test(element.value)) {
    errNode.innerHTML = '';
  } else {
    errNode.innerHTML = "You must enter Y or N";
  }
}
</script>

Please enter Y or N: <input name="foo" id="foo" onchange="validateYN(this);"
                      onblur="validateYN(this);">
                     <span id="foo_err"></span>
于 2013-03-30T07:00:26.257 に答える
0
<html> 
<head>
    <script type="text/javascript">
        function keyPressed(evt)
        {
            var theEvent = evt || window.event;
            var k = theEvent.keyCode || theEvent.which;
            if(k == 89 || k == 78 || k == 8 || k == 46)
                return true;
            else{
                alert("Your Message");
                evt.preventDefault();
                return false;
            }
        }
    </script>
</head>
<body>
    <input type="text" onkeydown="keyPressed(event)" />
</body>
</html>
于 2013-03-30T06:56:14.773 に答える
0

あなたもこれを試すことができます

 $("input").live('keypress', function(e) {
     if!( code == 89 || code == 121 || 
            code == 78 || code == 110 ) )  { 
            e.preventDefault();
            }
        else //your code
于 2013-03-30T07:07:01.450 に答える