Как проверить текстовое поле с помощью Javascript Validator?

0

У меня есть текстовое поле внутри gridview. Мое требование состоит в том, чтобы ограничить ввод текстового поля в "X" или "O" только ничем иным. Но я совершенно новый в javascript. Может кто-нибудь, пожалуйста, скажите мне, как я могу это достичь. Я хотел бы упомянуть, что я использовал Vb.Net и Asp.Net для разработки системы. Заранее спасибо за вашу помощь.

  • 1
    Если входными данными будут только 1 из 2 возможных значений, почему бы не использовать вместо этого флажок?
  • 0
    Взгляните на msdn.microsoft.com/en-us/library/debza5t0(v=vs.100).aspx
Показать ещё 4 комментария

4 ответа

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();
        }
    });
});
  • 0
    Большое спасибо за ваш ответ.
1

Привет, если вам нравится это решение

        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);
        }
  • 0
    Большое спасибо за хороший ответ. Я обязательно попробую.
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;    
    }
}
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 внутри проверки GridView

Благодарю.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню