Alejo
Alejo

Reputation: 57

Cant seem to fully understand how textInput works on a super simple website

So basically all I need to do is add a 'User' object to a OrderedCollection.

All I need to grab from the user is the username and password.

Once the submit button is clicked, I would need to add the User to the collection and return to home page (which I guess would be done by calling #answer).

Read like 99x times the seaside book on textInput but I fail to understand where is the data stored once the form is submitted.

Any intel is highly appreciated.

This is my current form:

html form: [ 
        html text: 'Username: '.
        html  textInput 
            callback: [  ];
            value: 'Enter username here'.
        html break.
        html text: 'Password: '.
        html textInput 
            callback: [  ];
            value: 'Enter password here'.
        html break.
        html submitButton 
            callback: [  ];
            value: 'Add user']

Upvotes: 2

Views: 140

Answers (1)

Johan B
Johan B

Reputation: 2471

If you read the book 99x times, then you did not read the code samples of forms. Your example is even given directly in the example of ContactView in http://book.seaside.st/book/fundamentals/forms/textinputfields

In your code, the callbacks of the text input fields are empty (i.e. no code). On form submission, Seaside invokes these callbacks with the values entered in the text fields. Finally, it will invoke the submit button callback.

Your code could be:

| user pass |
html form: [ 
        html text: 'Username: '.
        html  textInput 
            callback: [:userValue | user := userValue ];
            value: 'Enter username here'.
        html break.
        html text: 'Password: '.
        html textInput 
            callback: [:passValue | pass := passValue ];
            value: 'Enter password here'.
        html break.
        html submitButton
            callback: [ self addUser: user withPassword: pass ];
            value: 'Add user']

Upvotes: 8

Related Questions