我在gridview中有文本框。我的要求是仅将文本框的输入限制为“X”或“O”。但我是javascript的新手。任何人都可以告诉我如何实现这一目标。我想提一下,我已经使用Vb.Net和Asp.Net来开发系统。 在此先感谢您的帮助。
答案 0 :(得分: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();
}
});
});
答案 1 :(得分: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);
}
答案 2 :(得分: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
感谢。
答案 3 :(得分: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;
}
}