TextBox
控件会被Render成 html 中的 inpu type="text" 控件, 其 AutoPostBack 是通过 input 的DOM
事件 onchange 来实现的。以下是 .net 3.5 中 TextBox 生成的 html:<input name="TextBox1" type="text" onchange="javascript:setTimeout('__doPostBack(\'TextBox1\',\'\')', 0)" onkeypress="if (WebForm_TextBoxKeyHandler(event) == false) return false" id="TextBox1" />而客户端事件 onchange 只在手动修改文本框的值后才会
触发,用脚本修改值并不触发该事件。而你用的日历控件恰恰是通过 javascript 脚本来给文件框设置值的,所以不会有 onchange 事件触发,也就不会回发页面。 变通的实现方法是在日历控件的脚本中设置完文本框的值后调用下文本框的onchange,简单的可以通过 document.getElementById(textbox_id).onchange()实现, textbox_id即你传给 new CbsCalendar() 的参数也就是文本框的客户端id。以使用jQuery为例:
$('input[type="text"]').click(
function() {
// 此处添加onclick事件代码。
}
)
$('input[type="text"]')先选中页面中所有的textbox,然后click函数为选中的元素添加单击事件。
1、首先,要为TextBox的TextChanged事件添加事件处理函数;
2、添加事件处理函数后,当TextBox的Text属性的值发生改变时,会自动触发TextChanged事件(但如果赋值后Text属性的值同原来相同,则不会触发);
评论列表(0条)