我正在使用j查询处理键盘事件。我有两个文本框,一个接受名字,另一个接受姓氏。我想在填写文本框后先提醒和姓氏。我使用(ascii代码65)键来触发事件。 这里的问题是当我填充文本框时事件正在触发。在文本框中输入名称时我不想中断,我需要在输入文本框后调用该事件。我正在使用ajax连接网络表单中的c#。
请帮助我。
这是我的HTML代码:
<div>
<table cellpadding="3" cellspacing="0" style="width: 25%;">
<tr>
<td>
First Name:
</td>
<td>
<asp:TextBox ID="txtFirstName" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
Last Name:
</td>
<td>
<asp:TextBox ID="txtLastName" runat="server" onkeyup="JqueryAjaxCall();" AutoPostBack="true"></asp:TextBox>
</td>
</tr>
<tr>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
</td>
<td>
</td>
</tr>
</table>
</div>
这是我的剧本:
<script src="Scripts/jquery1.11.0.min.js" type="text/javascript"></script>
<script type="text/javascript" language="javascript">
function JqueryAjaxCall() {
var pageUrl = '<%= ResolveUrl("~/Test.aspx/jqueryAjaxCall") %>';
var firstName = $("#<%= txtFirstName.ClientID %>").val();
var lastName = $("#<%= txtLastName.ClientID %>").val();
var parameter = { "firstName": firstName, "lastName": lastName }
$.ajax({
type: 'POST',
url: pageUrl,
data: JSON.stringify(parameter),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (data) {
$(document).keyup(function (event) {
if (event.which == 65)
alert(data.d);
});
},
error: function (data, success, error) {
alert("Error : " + error);
}
});
return false;
}
</script>
这是我的C#代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Services;
public partial class Test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
[WebMethod]
public static string jqueryAjaxCall(string firstName, string lastName)
{
//Do coding staff.
return firstName + " " + lastName;
}
}
答案 0 :(得分:0)
使用onkeyup
事件代替onchange
。
onchange事件只会在文本框模糊时触发。
<asp:TextBox ID="txtLastName" runat="server" onchange="JqueryAjaxCall();" AutoPostBack="true"></asp:TextBox>