Hi,

Bit of a simple query. I'm not sure what I'm doing wrong as I've followed the example given in the T5 component reference (bar using an encoder - my values are strings so I don't see why I should need one).

I'm trying to implement a dynamic form where a user can add extra keyword fields. Adding works fine. Unfortunately when the form is submitted on Search none of the keyword values are updated with the entered values.


Here is the markup:

                <form t:type="form" t:id="tagForm">
Tag: <select t:type="select" t:model="tags" t:value="tag" t:encoder="tags" t:blankOption="NEVER"></select>
                        <p/>

                        <t:loop source="allKeywords" value="keyword">
                                Keyword:<t:textfield t:id="keywordField" 
value="keyword.value"/>
                        </t:loop>

                        <t:submit t:id="search" value="Search"/>
                        <t:submit t:id="add" value="Add"/>

                </form>


Here is the page class:



....


public class SearchByTag
{
        @SuppressWarnings("unused")
        @Property
        @Persist
        private GenericSelectModel<Tag> tags;

        @SuppressWarnings("unused")
        @Property
        @Persist
        private Tag tag;

        @SuppressWarnings("unused")
        @Property
        @Persist
        private List<Value> searchResults;

        @SuppressWarnings("unused")
        @Property
        @Persist
        private Value listItem;

        @Property
        @Persist
        private List<Keyword> allKeywords;

        @Persist
        private Keyword keyword;

        @Inject
        private PropertyAccess propertyAccess;

        @Inject
        private MetadataRepository repository;



    public SearchByTag()
    {
                List<Tag> list = repository.getAllTags();

                allKeywords = new ArrayList();

tags = new GenericSelectModel<Tag>(list,Tag.class,"name","id",propertyAccess);
    }


    public GenericSelectModel<Tag> getBeans()
    {
       return tags;
    }

    void onSelectedFromAdd()
        {
        allKeywords.add(new Keyword());
        }

    Object onSuccess()
    {
        for (Keyword x: allKeywords)
        {
                System.out.println("VALUE ----> "+x.getValue());
        }


        return this;
        }


        public Keyword getKeyword()
        {
                return keyword;
        }


        public void setKeyword(Keyword keyword)
        {
                this.keyword = keyword;
        }


}





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to