Можно добавить событие
onchange в HTML'ый контрол.
У меня была ситуация, когда надо было всем полям добавить событие на изменение значения в любом поле. Я рекурсивно обходил все элементы на форме и добавлял скрипт:
X++:
private void setControlAttributes(ControlCollection collection)
{
foreach (Control curControl in collection)
{
if (curControl.GetType() == typeof(DataControlFieldCell) ||
curControl.GetType() == typeof(TableCell))
{
WebControl control;
if (curControl.GetType() == typeof(DataControlFieldCell))
{
control = (DataControlFieldCell)curControl;
}
else
{
control = (TableCell)curControl;
}
AttributeCollection attCollection = control.Attributes;
attCollection.Add("onchange", "onClientChange();");
}
if (curControl.Controls.Count != 0)
{
setControlAttributes(curControl.Controls);
}
}
}
Сам PostBack можно сделать так:
PHP код:
<script type="text/javascript" language="javascript">
function onClientChange() {
//do the postback
__doPostBack('__Page', '');
}
</script>
P.S. Помнится, что в IE вместо onchange применялось другое событие, но пример найти не могу