【问题标题】:How to validate textbox using Javascript Validator?如何使用 Javascript Validator 验证文本框?
【发布时间】:2013-10-30 15:44:38
【问题描述】:

我在 gridview 中有文本框。我的要求是将文本框的输入限制为“X”或“O”,仅此而已。但我对javascript很陌生。谁能告诉我如何实现这一目标。我想提一下,我使用 Vb.Net 和 Asp.Net 来开发系统。 提前感谢您的帮助。

【问题讨论】:

  • 如果输入只是 2 个可能值中的 1 个,为什么不直接使用复选框呢?
  • +1 @ElGavilan 的想法,或者如果您想对用户选择的内容更加透明,请使用下拉菜单。这里不适合使用文本框。
  • 感谢您的评论。实际上我的客户要求是“X”或“O”作为输入。那么请问有什么解决办法吗?
  • 您可以使用jqueryvalidation.org。在这里,您可以为表单验证创建自定义规则,例如在您的情况下输入可以限制为某些值

标签: javascript jquery asp.net vb.net


【解决方案1】:

如果您需要使用输入而不是复选框,这里有一个 jQuery 解决方案:

$(document).ready(function() {
    jQuery('#restricted-input').on('keydown', function(event) {
        // reset input
        var input = jQuery(this).val('');

        // code 88 = x
        // code 79 = o
        // code 8  = Backspace
        if (event.keyCode == 88 || event.keyCode == 79 || event.keyCode == 8) {
            // let input happen                 
        } else {
            event.preventDefault();
        }
    });
});

【讨论】:

  • 非常感谢您的回答。
【解决方案2】:

你好,如果你喜欢这个解决方案

        function val(e) {
        tecla = (document.all) ? e.keyCode : e.which;
        if (tecla == 8) return true;
        patron = /[O-Xox]/;
        te = String.fromCharCode(tecla);
        return patron.test(te);
        }

【讨论】:

    【解决方案3】:

    感谢大家对我的问题提出的有益建议。但这就是我刚刚解决的方法。

    这是我在 gridview 中的文本框:

     <asp:TextBox ID="txtAttend" runat="server" BackColor="Control" MaxLength="1" 
    EnableViewState="true" Width="15px" onkeyup="ValidateText(this);"></asp:TextBox>
    

    这里,我调用的是 ValidateText(this) javascript 函数。

    这里是函数:

     <script type="text/javascript" language="javascript">
    function ValidateText(i) 
    {
        if(i.value != "X" || i.value != "O") 
        {
            alert("Please Enter 'X' for Present or 'O' for Absent");
        }
    }
    </script>
    

    我从这个链接得到了这个解决方案的提示:TextBox inside GridView validation

    谢谢。

    【讨论】:

      【解决方案4】:

      请参阅以下代码,帮助您只允许输入两个字符。此代码将限制其他击键并仅允许“X”和“O”。 演示请看:http://jsfiddle.net/BhaveshKachhadiya/uNfP2/7/

      function validate(evt)
      {
          evt = (evt) ? evt : window.event;
          var charCode = (evt.which) ? evt.which : evt.keyCode;
          // alert(charCode);
          if (charCode == 120 || charCode== 88 || charCode==111 || charCode==79 || charCode == 8) {
              return true;
          }
          else
          {
              alert("Please Enter 'X' for Present or 'O' for Absent");
              return false;    
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-08-05
        • 1970-01-01
        • 2017-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多