Не могу понять, что textInput работает на супер простом веб-сайте. - PullRequest
2 голосов
/ 10 апреля 2019

В общем, все, что мне нужно сделать, это добавить объект 'User' в коллекцию OrderedCollection.

Все, что мне нужно получить от пользователя, это имя пользователя и пароль.

После отправкинажата кнопка, мне нужно было бы добавить пользователя в коллекцию и вернуться на домашнюю страницу (что, я думаю, можно было бы сделать, позвонив по номеру #answer).

Прочитать, как 99 раз, приморскую книгу на textInput, но мне не удалосьчтобы понять, где хранятся данные после отправки формы.

Любая информация высоко ценится.

Это моя текущая форма:

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']

1 Ответ

7 голосов
/ 10 апреля 2019

Если вы прочитали книгу 99 раз, значит, вы не читали примеры кода форм.Ваш пример даже приведен непосредственно в примере ContactView в http://book.seaside.st/book/fundamentals/forms/textinputfields

В вашем коде обратные вызовы полей ввода текста пусты (т. Е. Нет кода).При отправке формы Seaside вызывает эти обратные вызовы со значениями, введенными в текстовые поля.Наконец, он вызовет функцию обратного вызова кнопки отправки.

Ваш код может быть:

| 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']
...