Получение значения формы с помощью jQuery - PullRequest
0 голосов
/ 27 сентября 2011

К сожалению, это не так сухо, как я надеялся.В течение последних нескольких недель я исследовал использование jQuery с CRM.Несмотря на то, что это приятно и модно для изменения стиля, я не смог найти примеров, которые бы ближе к бизнес-логике

Например, сегодня мне нужно было предупредить браузер, если одно из 4 полей было пустым.Два были поля даты, один список выбора и один флажок (бит).Я думал, что вызов $ ("# formElement"). Val () мог бы получить значение, а в некоторых случаях это произошло, например, список выбора после того, как я проанализировал его как int.Однако поля даты всегда возвращали пустую строку.

Просматривая HTML-форму CRM, я вижу, что "#formElement" не всегда является идентификатором ввода для элемента формы CRM.В данном случае поля даты имели ID = "DateTime" (или что-то подобное).В этот момент я подумал, что мне нужно будет создать фильтр, который будет принимать таблицу, содержащую #formElement в качестве идентификатора, и искать значение первого ввода в этой таблице, но в этот момент с помощью crmForm.all.formElement.DataValue просто показалось проще.

Я уверен, что у кого-то здесь есть решение для этого (и, возможно, какое-то объяснение того, как формы CRM написаны для помощи с фильтром), и это действительно воняет из-за невозможности установки надстроек для Internet Explorer.здесь на работе.Спасибо за любую помощь.

Ответы [ 2 ]

0 голосов
/ 04 октября 2011

Для всех, кто ищет ответ, я разобрался в немалой степени.К сожалению, я не смог использовать селекторы CSS для сокращения имен атрибутов, но я смог использовать jQuery для сокращения времени.Если вы хотите использовать атрибут CRM 4 с jQuery, он выглядит следующим образом:

$(crmForm.all.new_attribute).bind("click", function() { ClickFunction(); });

То, на что я действительно рассчитывал, было цепочкой, потому что во многих случаях мне нужно было обнулить поле, отключите его, а затем заставьте его отправить.Немного магии и это:

crmForm.all.new_attribute.DataValue = null;
crmForm.all.new_attribute.Disable = true;
crmForm.all.new_attribute.ForceSubmit = true;

Становится:

crmForm.all.new_attribute.dataValue().disable().forceSubmit();

Надеюсь, это поможет некоторым из вас, ребята!

0 голосов
/ 27 сентября 2011

Используйте jQuery, чтобы выбрать саму форму (либо по ее идентификатору, либо по $ (форма)), а затем выполнить итерацию по потомкам , которые являются входными текстовыми полями.Я не делал этого ранее для формы, но она может работать для вас.

...