0

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

4

4 回答 4

1

Hi if you like this solution

        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);
        }
于 2013-10-30T16:26:02.913 回答
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();
        }
    });
});
于 2013-10-30T16:15:29.337 回答
0

请参阅以下代码,帮助您只允许输入两个字符。此代码将限制其他击键并仅允许“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;    
    }
}
于 2013-10-30T16:28:04.027 回答
0

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

这是我在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

谢谢。

于 2013-10-30T16:19:06.147 回答