Вызов проверки CustomValidator из JavaScript - PullRequest
2 голосов
/ 18 февраля 2011

У меня есть следующие настройки, где я настраиваю проверку текстового поля. Он работает нормально, пока я вручную набираю текстовое поле, изменяю текст и фокусируюсь вне текстового поля.

<asp:TextBox ID="tbpCity" runat="server"/>     
<asp:CustomValidator ID="cvPermanentCity" runat="server" ControlToValidate="tbpCity" 
 ErrorMessage="CustomValidator" onservervalidate="Field_ServerValidate"   SetFocusOnError="true" Display="Dynamic" ToolTip="PermanentCity" />
 <ajaxtoolkitwcsfextensions:ServerSideValidationExtender ID="PermanentCityServerSideValidationExtender" runat="server" TargetControlID="cvPermanentCity" />

когда я пытаюсь вызвать событие изменения проверки из javascript (используя JQuery 1.4.2)

function copyCity() {
$('#<%= tbpCity.ClientID%>').value = "Some City";
$('#<%= tbpCity.ClientID%>').trigger("change");
}

пользовательская проверка не вызывается.

Как я могу иновать customvalidator для проверки?

примечание: я подтвердил, что это работает на FireFox, но не на IE. Пожалуйста, дайте мне знать, как запустить событие изменения в IE.

1 Ответ

1 голос
/ 18 февраля 2011

Я нашел ответ на аналогичный вопрос в StackOverflow.

var tbPermanentAddressCity = document.getElementById('<%= tbpCity.ClientID%>');
if (tbPermanentAddressCity.fireEvent) {
    tbPermanentAddressCity.fireEvent("onchange");
} else {
    $('#<%= tbpCity.ClientID%>').change();
}

После запуска события onchange CustomValidator обнаруживает и проверяет текстовое поле.

...