У меня есть текстовое поле внутри gridview. Мое требование состоит в том, чтобы ограничить ввод текстового поля в "X" или "O" только ничем иным. Но я совершенно новый в javascript. Может кто-нибудь, пожалуйста, скажите мне, как я могу это достичь. Я хотел бы упомянуть, что я использовал Vb.Net и Asp.Net для разработки системы. Заранее спасибо за вашу помощь.
Здесь решение 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();
}
});
});
Привет, если вам нравится это решение
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);
}
Пожалуйста, смотрите следующий код, который позволяет вам вводить только два символа. Этот код будет ограничивать другие нажатия клавиш и разрешать только "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;
}
}
Спасибо всем за полезное предложение моей проблемы. Но вот как я решил это сейчас.
Это текстовое поле внутри 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
Благодарю.