HTML文本框的值改变后触发后台代码的方法
<asp:TextBox ID="txtDate" CssClass="Wdate" Style="width: 91px;" runat="server"
onfocus="WdatePicker({maxDate:'%y-%M-%d',isShowClear:false,readOnly:true})"
onpropertychange="showValue(this.value)" ></asp:TextBox>
日
<asp:HiddenField ID="hiddenDate" runat="server"
OnValueChanged="hiddenDate_ValueChanged"
EnableViewState="false" />
<div style="display: none;">
<asp:ImageButton ID="btnHid" runat="server"
ImageUrl="~/Resource/images/Btn_Find.gif"
CausesValidation="false" align="absmiddle"
OnClick="btnHid_Click" />
</div>
如果要实现这个目的,肯定要用到后台代码,也需要用到javascript代码。javascript代码
如下:
<script type="text/javascript">
//记录用户上一次输入的日期。
var today = new Date();
var todayMonth;
var todayDate;
//格式化当前“月”,“日”格式。
if ((today.getMonth() + 1) < 10) {
todayMonth = "0" + (today.getMonth() + 1);
}
if (today.getDate() < 10) {
todayDate = "0" + today.getDate();
}
//获得当前的日期。
var oldValue = https://www.jb51.net/Health/archive/2012/02/10/today.getFullYear() +"-" + todayMonth + "-" + todayDate;
function showValue(obj) {
//当查询日期不为空时,就触发查询按钮。
if (obj != "" && obj != oldValue) {
oldValue = https://www.jb51.net/Health/archive/2012/02/10/obj;
$('#txtName').get(0).select();
$("#hiddenDate").val(obj);
$('#btnHid').trigger("click");
return false;
}
}
</script>
javascript代码主要是判断当前选中日期不为空,并且是选择的一个新日期。才会触发一个
隐藏控件的OnValueChanged,也可以触发一个按钮事件,都可以达到目的。日期控件的事件
就是 onpropertychange="showValue(this.value)"用javascript代码。
下面就是后台代码了:
//根据用户选择的时间查询。
protected void hiddenDate_ValueChanged(object sender, EventArgs e)
{
//后台代码
}
//根据用户选择的时间查询。
protected void btnHid_Click(object sender, ImageClickEventArgs e)
{
//后台代码
}
这两个都可以用。
这篇博文只要说明的是怎么用前台非服务器控件文本框(虽然本篇博文用的是服务器控件,但
是HTML控件也是一样的效果。),文本的改变触发后台事件,以执行后台代码。