У меня то же самое, есть много TextBoxes с событием TextChanged и AutoPostback = true и работает во всех браузерах (Chrome, Opera, Firefox 3.6), за исключением IE 8, IE 6/7, я не тестировал.TextBox не запускает событие TextChanged в IE 8, AutoPostback истинно
Я не хочу помещать событие onblur во все свои текстовые поля, потому что есть много страниц со многими TextBox, которые используют это событие.
Описание
Я использую Masterpage,
в ASPX я имею
<asp:TextBox ID="txtCnpj" runat="server" CssClass="txt" Width="200px"
onkeyup="Mascara(this,Cnpj)" onkeydown="Mascara(this,Cnpj)" MaxLength="18"
AutoPostBack="true" ValidationGroup="txtCnpj"
OnTextChanged="txtCnpj_TextChanged"></asp:TextBox>
в aspx.cs
protected void txtCnpj_TextChanged(object sender, EventArgs e)
{
if (CredorInvestimento.GetCredorInvestimento(txtCnpj.Text) != null)
{
((TextBox)sender).Text = "";
((TextBox)sender).Focus();
rfvCnpj.ErrorMessage = "Duplicado";
Page.Validate(txtCnpj.ID);
}
else
txtNome.Focus();
}
Спасибо!
ps: Мне действительно не нравится asp.net. Я трачу больше времени на исправление ошибок, чем на разработку новых функций.
ps: извините за мой английский.
ps: если я удаляю onkeydown и события onkeyup, то текст в IE изменяется, но я тоже знаю эти события.
Можете ли вы показать нам код для 'Тушь()'? – egrunin
согласился - я предполагаю, что это, возможно, ошибка в Mascara(), которая предотвращает появление события postback в IE. Вы пытались удалить события onKeyDown и onKeyUp и посмотреть, работает ли postback? – Dan