您好我需要处理asp文本框的keypress事件,但是对于asp文本框不可用的按键事件。有没有替代方案可以解决这个问题? Plz帮忙!
答案 0 :(得分:4)
利用javascript + textbox的按键事件
并使用ajax或使用pagemthods调用服务器端函数。
.cs file
[ScriptMethod, WebMethod]
public static string docall()
{
return "Hello";
}
.aspx file
<script type="text/javascript">
function btnAccept_onclic() {
PageMethods.docall(onSuccess, onFailure);
}
function onSuccess(result) {
alert(result);
}
function onFailure(error) {
alert(error);
}
</script>
检查一下:http://blogs.microsoft.co.il/blogs/gilf/archive/2008/10/04/asp-net-ajax-pagemethods.aspx
答案 1 :(得分:2)
TextBox1.Attributes.Add("onkeypress", "return clickButton(event,'" + Button1.ClientID + "')");
代码隐藏生成以下内容:
<input name="TextBox1" type="text" id="TextBox1" onkeypress="return clickButton(event,'Button1')" />
这会导致在Button1
内点击回车键时点击网络控件TextBox1
。
答案 2 :(得分:2)
试试这个:
只需制作TextBox的AutoPostBack
True
(为此,请单击TextBox,然后按 F4 。然后在属性中,使AutoPostBack为True)
然后使用TextBox OnTextChanged
事件
(为此,请选择“设计视图”。然后再次单击“文本框”。然后单击“事件”选项卡(“事件”按钮位于上方)并双击“TextChanged事件”)
答案 3 :(得分:0)
这对按键按下并允许数值
有帮助 function fncInputNumericValuesOnly(){ if(!(event.keyCode == 45 || event.keyCode == 46 || event.keyCode == 48 || event.keyCode == 49 || event.keyCode == 50 || event.keyCode == 51 || event.keyCode == 52 || event.keyCode == 53 || event.keyCode == 54 || event.keyCode == 55 || event.keyCode == 56 || event.keyCode == 57 || event.keyCode == 8 || event.keyCode == 190 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 16)){ event.returnValue = false; } } <asp:TextBox ID="txtRphone" runat="server" CssClass="NormalTextBox" onkeypress="fncInputNumericValuesOnly()"
MaxLength="15"></asp:TextBox>