Hi all,

I have one application where I have a bunch of forms inside a popup. The
best thing to would be to create a component out of those forms and then to
include that component all over the website. The problem is that I can
change the values in the form elements that way.

So here is what I have so far.

On lets say page Index I call the component

    <t:form t:id="formForgottenPassword">
      <t:Popup t:source="popupItems" />
    </t:form>

This component accepts a list of Items that it needs to create and is
surrounded by the form element in order for Index page to handle the form
submission. 

In the Index page I have created this list and populated it.

    @Property
    @Persist
    private String usernameLostPassword;
    @Property
    @Persist
    private PopupItem itemUser;
    @Property
    @Persist
    private List<PopupItem> popupItems;

@SetupRender
    void initialize() {
        usernameLostPassword = "test";
        popupItems = new LinkedList<PopupItem>();
        itemUser = new PopupItem("Forgotten password",
usernameLostPassword);
        popupItems.add(itemUser);
    }

Once I submit this form it is handled by the Index page but the value that I
have enter in the text field is not change. It remains "test". In other
words usernameLostPassword, itemUser and popupItems all hold the original
value (test) and not the entered.

The code for the component is simple at the moment

Popup.tml

<table border="0" width="100%" cellpadding="0" cellspacing="5">
                <t:loop t:source="source" t:value="value">
                    <tr>
                        <td>
                            <div class="loginBar">
                                <div class="barTextPopup
textSmall">${value.title}</div>
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <input t:value="value.value" t:type="textfield"
type="text" class="fieldLogin" />
                        </td>
                    </tr>
                </t:loop>
                # 
                       *Submit*
                
</table>

Popup.java

public class Popup {

    @Parameter(required = true)
    @Property
    private List<PopupItem> source;
    @Property
    private PopupItem value;
}

So at the moment I have this component  that is creating as many textfield
as I added items into the list with the values that I assign them but it is
not working in reverse. The input text is not received back to the fields
that I assigned them to. 

What am I missing?

--
View this message in context: 
http://tapestry.1045711.n5.nabble.com/Form-elements-inside-a-component-tp4749774p4749774.html
Sent from the Tapestry - User mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to