ASP.NET LinkButton / ImageButton и JQuery проверить? - PullRequest
14 голосов
/ 16 марта 2009

Мы вводим 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();
        })

Ответы [ 2 ]

3 голосов
/ 17 марта 2009

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

JavaScript:

__doPostBack('<%= YourImageControl.UniqueID %>','');

Второй пустой параметр может использоваться для передачи аргументов.

0 голосов
/ 16 марта 2009

Не уверен, поможет ли это, но попробуйте ...

http://docs.jquery.com/Plugins/Validation/validate#options

$("input[type=image]").click(function() {
   $($(this).parents(form)).validate();
});

Возможно, вам придется заменить «форму» на что-то более конкретное, но я постарался сделать ее максимально точной, не зная, как все изложено на вашей странице. Ответьте, если это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...