Note that there are some explanatory texts on larger screens.

plurals
  1. PODynamically add TextAreas to a FormPanel on User Input with ExtJS
    primarykey
    data
    text
    <p>I have a FormPanel displaying a pretty basic form, essentially, it just contains a "Name" field, a "Description" field, and multiple "Rules" text areas. What I want is for the user to be able to type text into the first such Rule text area and have another empty TextField appear (when they start typing) for an additional rule.</p> <p>Currently, I've got a function that should generate new TextAreas when called with a specified name (the newRulesField function), and a function to handle KeyPress events inside my text areas.</p> <p>What I'm essentially looking for is how I can dynamically modify the number of TextAreas in the form.</p> <p>Here's the code, in case it helps:</p> <pre><code>function handleRuleKeypress(a,b) { Ext.Msg.alert('kp'); } function newRulesField(name) { var rulesField = new Ext.form.TextArea({ fieldLabel: 'Rules', anchor: '100%', name: name, allowBlank: false, grow: false, enableKeyEvents: true, listeners: { keypress: handleRuleKeypress } }); return rulesField; } function handleNewRuleSetClick(nodes) { var nameField = new Ext.form.TextField({ fieldLabel: 'Name', name: 'ruleSetName', anchor: '100%', allowBlank: false, grow: false }); var descField = new Ext.form.TextField({ fieldLabel: 'Description', name: 'ruleSetDescription', anchor: '100%', allowBlank: false, grow: false }); var form = new Ext.FormPanel({ labelWidth: 75, defaultType: 'textfield', bodyStyle: 'padding:30px', id: 'newRuleSetPanel', name: 'newRuleSetPanel', title: 'New Rule Set', buttons: [{ text: 'Save', id: 'saveBtn', hidden: false, handler: function() { form.getForm().submit({ url: 'server/new-rule-set', waitMsg: 'Saving...', success: function(f,a) { Ext.Msg.alert('Success', 'It worked'); }, failure: function(f,a) { Ext.Msg.alert('Warning', 'Error'); } }); } },{ text: 'Cancel', id: 'cancelBtn', hidden: false }] }); form.add(nameField); form.add(descField); form.add(newRulesField('rules1')); this.add(form); this.doLayout(); } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload