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