Мы вводим JQuery в существующее приложение ASP.NET и используем плагин Validate для JQuery для выполнения проверки на стороне клиента (мы не хотим использовать asp.net валидаторы).
Все отлично работает с элементом управления asp: Button. Проверка на стороне клиента запускается перед отправкой страницы.
Однако при использовании элементов управления LinkButton и ImageButton страница отправляется без предварительной проверки формы.
Это связано с тем, что validate работает с кнопками, которые отображаются как Тип ввода = "submit" , в то время как ImageButton отображается как Тип ввода = "image" .
Кто-нибудь еще испытал это?
Большое спасибо за идеи и информацию о том, как решить.
Обновление:
Большое спасибо, ваши ответы помогли определить проблему.
оказывается, в плагине validate для JQuery произошла ошибка. Мы использовали патч, чтобы избежать проверки скрытых полей ввода, который использует parent (). Filter (": hidden") . Это не работает должным образом в JQuery 1.3.2 . Мы заменили его на .is (": visible") . Теперь asp.net ImageButton работает по умолчанию!
Update2:
Кнопка LinkButton по-прежнему не работает. Простое решение - добавить функцию щелчка, которая возвращает false, если форма недействительна:
$("#<%= tb.ClientID %>").click(function() {
return $('form').valid();
})