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 = //www.jb51.net/health/archive/2012/02/10/today.getfullyear() +"-" + todaymonth + "-" + todaydate;
function showvalue(obj) {
//当查询日期不为空时,就触发查询按钮。
if (obj != "" && obj != oldvalue) {
oldvalue = //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控件也是一样的效果。),文本的改变触发后台事件,以执行后台代码。