2010-07-22 6 views
1

Lorsque vous soumettez un formulaire avec Extjs je peux voir les éléments de formulaire ont des valeurs avec ce code juste avant le soumettre:valeurs ExtJS non soumis

var itemsForm = ''; 
    function mostraItems(item, index, length) { itemsForm += item.id + ':' + item.name + ':' + item.value + ':' + index + '\n'; } 
    myForm.form.items.each(mostraItems); 
    alert (itemsForm); 
    myForm.form.submit({... 

Mais lorsque la demande arrive à la page de manutention des éléments de formulaire ne sont pas Là. Je peux voir les détails de la demande avec Firebug.

L'un des éléments de formulaire est une zone de liste déroulante:

var myCombo = new Ext.form.ComboBox({ 
    //autoWidth: true, 
    width: 250, 
    displayField: 'theFieldText', 
    editable: false, 
    emptyText: 'Select something ...', 
    fieldLabel: 'Some text', 
    listeners: { 'select': { fn: theOnSelect, scope: this} }, 
    mode: 'local', 
    selectOnFocus: true, 
    store: theStore, 
    triggerAction: 'all', 
    typeAhead: true, 
    valueField: 'theFieldValue' 
}); 

Ceci est Extjs 2.1

Répondre

1

Vous devez spécifier la propriété « nom » afin de cartographier le contrôle à une paire valeur de nom de formulaire .

+0

J'ai ajouté la propriété name et maintenant elle apparaît à la page demandée, mais à la place du champ de valeur à affecter, ce qui est assigné est la somme de valueField et displayField. Dites que valueField est "1" et que displayField est "un peu de texte", alors ce qui va avec la requête est "1 (du texte)" et pas seulement valueField. Je ne sais pas si je devrais ouvrir une autre question pour ceci ou éditer cette question. –

+0

Vous pouvez extraire la propriété hiddenField. Et s'il s'agit d'un combo, les champs cachés doivent être définis. – CrazyEnigma