Как мы можем заполнить html текстовую область на pharo

Для входа через pharo с использованием html-формы существует метод Znclient, который представляет собой formAt:add: с последующим сообщением. Поэтому мне было интересно, как заполнить текстовую область HTML-формы и сделать сообщение. Есть ли способ для таких действий?

<div><textarea id="technique" name="technique" class="technique">jumping</textarea></div><label>Résultats :</label>
<div><textarea id="resultat" name="resultat" class="resultat">Higher score</textarea></div><label>Conclusion :</label>
<div><textarea id="conclusion" name="conclusion" class="conclusion">Best jumper of the school</textarea></div>

1 ответ

Глядя в ZnClient Класс в системном браузере вы можете увидеть комментарии для следующих методов:

formAt:add: - "Добавить ключ равен значению для объекта application/x-www-form-urlencoded текущего запроса. Это для полей формы с несколькими значениями".

formAt:put: - "Установить ключ равным значению в заявке / x-www-form-urlencoded сущности текущего запроса."

formAdd: - "Добавить сопоставление ключ-> значение в сущность application/x-www-form-urlencoded текущего запроса".

formAddAll: - "Добавить все сопоставления key->value keyedCollection в сущность application/x-www-form-urlencoded текущего запроса."

Мы не использовали formAt:add: в любом из наших предыдущих вопросов и ответов об этом, и мы должны избегать этого здесь. Используйте один из последних 3 методов:

| client |
client := ZnClient new url: 'http://server/some-script.cgi'.

затем...

client formAt: 'technique'  put: 'foo'; 
       formAt: 'resultat'   put: 'bar'; 
       formAt: 'conclusion' put: 'baz'; 
       post.

или же...

client formAdd: 'technique'  -> 'foo'; 
       formAdd: 'resultat'   -> 'bar'; 
       formAdd: 'conclusion' -> 'baz'; 
       post.

или это...

client formAddAll: {
    'technique'  -> 'foo'. 
    'resultat'   -> 'bar'. 
    'conclusion' -> 'baz'.
} asDictionary; post.
Другие вопросы по тегам