2012-06-07 3 views
0

Это фактически связано с ASP.NET MVC.Как определить, создан ли диапазон в jQuery

При отправке формы выполняется проверка модели. Если обнаружена ошибка, сообщение об ошибке отобразится в поле <span>. Мы должны уметь это использовать, используя jQuery, по $('span.field-validation-error'). Но какое событие мы должны связывать для этого «OnCreated»?

Я пробовал $('span.field-validation-error').change(function (e) {, $('span.field-validation-error').load(function (e) { и т. Д. Но никто из них не работал.

Итак, каково правильное название мероприятия?

---- Обновление ----

Наша цель состоит в том, чтобы настроить сообщение об ошибке отображается. Если можно изменить теги <span> при их создании, мы сможем отобразить значок восклицательного знака и, например, поместить эти сообщения об ошибках в всплывающую подсказку.

+1

Какую цель? В зависимости от того, что вы хотите сделать с этими «», может быть другой угол, из которого мы могли бы атаковать проблему. –

+0

@Blazemonger: Я думаю, что с проверкой на стороне клиента в MVC эти поля уже создаются при визуализации страницы. –

ответ

1

Я GUESS вы можете:

var checkTimer = setInterval(function() { 
     if ($('span.field-validation-error').length > 0) { 
      //yay :D it exists! 
      alert("YEP"); 
      clearInterval(checkTimer); 
     } else { 
      //derp...  
      console.log("nope"); 
     } 
}, 50); 
setTimeout(function() { 
    document.body.innerHTML = "<span class='field-validation-error'>word</span>"; 
}, 5000);​ 

Пример:
http://jsfiddle.net/neuroflux/Ynz5b/1/

[править] Да ... это грязно, я ненавижу таймеры и интервалы - но это один из способов для этого ...

[edit 2] Ссылка для проверки наличия элементов: http://aaronrussell.co.uk/legacy/check-if-an-element-exists-using-jquery/

+0

Спасибо за публикацию и постоянное обновление. Кажется, это лучшее и единственное решение. – Blaise

0

Если я правильно вас понимаю, то, что вы действительно хотите сделать, это обернуть некоторый код в другой функции и назвать это в то же самое время, когда в DOM добавлено span.field-validation-error.

Нет onCreated обработчик событий и не будет onLoad Работа для узлов DOM.

+0

Какой неутешительный ответ! Я буду ждать еще нескольких ответов, чтобы уничтожить мою надежду. – Blaise

+0

Это правда, есть работа вокруг - проверьте мой ответ ... –

0

Не уверен, что я действительно рекомендовал бы этот подход для того, что вы делаете, но вы можете подумать о подключении к параметру validator.showErrors jQuery для управления сообщениями об ошибках, а затем вызвать метод по умолчанию (по умолчаниюShowErrors) для отображения как обычно.

Смежные вопросы