Salesforce - Обрабатывать переменное количество полей формы - PullRequest
0 голосов
/ 18 августа 2011

Мне удалось сделать это в PHP, но он не очень хорошо переводит в Salesforce.

У меня есть форма для ввода Возможности.У него есть учетная запись, контакт и переменное количество полей, которые будут использоваться для создания пользовательских объектов (для моих целей возможность - это поездка, а пользовательские объекты - ветви этой поездки).Контроллер Salesforce должен создать новую возможность с помощью учетной записи и контакта (это самая простая часть), но затем он должен создать новый пользовательский объект (Leg__c) для каждого этапа поездки.

Моя форма выглядитэто:

<input type="text" name="Account" />
<input type="text" name="Contact" />
<div id="leg0">
  <input type="text" name="dep[0]" />
  <input type="text" name="arr[0]" />
</div>
<div id="leg1">
  <input type="text" name="dep[1]" />
  <input type="text" name="arr[1]" />
</div>
...

Я даже не уверен, с чего начать ...

1 Ответ

1 голос
/ 18 августа 2011

Предполагая, что вы знаете, сколько ног вам нужно, вы можете просто создать их список в контроллере Visualforce:

public list<Leg__c> liLegs {get; set;};

// upon oppty creation:
liLegs = new list<Leg__c>();

for (integer i = 0; i < iNumLegs; i++)
{
    liLegs.add(new Leg__c());
}

Тогда вы можете просто зациклить их на своей странице следующим образом:

<apex:repeat var="v" value="{!liLegs}">
    <apex:inputField value="{!v.Dep__c}"/>
    <apex:inputField value="{!v.Arr__c}"/>
</apex:repeat>

Поля ввода будут соответствовать полям в каждой записи в списке, поэтому в вашем действии Сохранить или что вы используете, вы можете просто вставить список insert liLegs;.

Надеюсь, что это поможет, и я не пропустил отметку, дайте мне знать, если так! PS. Я только что написал этот код прямо здесь, поэтому он не может быть на 100% синтаксически правильным;)

...