我们如何在pharo上填写html文本区域

时间:2017-12-07 09:04:46

标签: html smalltalk pharo pharo-5

对于使用html表单通过pharo登录,有一个Znclient的方法是formAt:add:后跟一个帖子。所以我想知道如何填写html表单的textArea并发帖。有这种行动的方法吗?

<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 个答案:

答案 0 :(得分:3)

在系统浏览器中查看ZnClient类,您可以看到以下方法的注释:

formAt:add: - &#34;将key等于值添加到当前请求的application / x-www-form-urlencoded实体。这适用于多值表单字段。&#34;

formAt:put: - &#34;在当前请求的application / x-www-form-urlencoded实体中将密钥设置为等于值。&#34;

formAdd: - &#34;将key-&gt;值关联添加到当前请求的application / x-www-form-urlencoded实体。&#34; < / p>

formAddAll: - &#34;将keyedCollection的所有key-&gt;值关联添加到     当前请求的application / x-www-form-urlencoded实体。&#34;

我们之前的任何q&a都没有使用过formAt:add:,我们应该在这里避免使用| client | client := ZnClient new url: 'http://server/some-script.cgi'. 。使用最后3种方法之一:

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.

或者这......

$(function() {
  $("#slider-container").slider({
    range: 'min',
    min: 4,
    max: 10,
    value: 8,
    step: 2,
    slide: function(event, ui) {
      var curValue = ui.value;
      var tooltip_Date = '<div class="tooltip_Date"><div class="tooltip_Date-inner">' + curValue + ' years</div><div class="tooltip_Date-arrow"></div></div>';
      $(this).find('.ui-slider-handle').html(tooltip_Date);
      $("#number_repayments").html(curValue);

      if (ui.value < 5) {
        $('.system1').css('display', 'block');
        $('.system2, .system3, .system4').css('display', 'none');
      } else if (ui.value < 7) {
        $('.system2').css('display', 'block');
        $('.system3, .system1, .system4').css('display', 'none');
      } else if (ui.value < 9) {
        $('.system3').css('display', 'block');
        $('.system2, .system1, .system4').css('display', 'none');
      } else if (ui.value > 9) {
        $('.system4').css('display', 'block');
        $('.system2, .system1, .system3').css('display', 'none');
      }

    },
    create: function(event, ui) {
      var curValue = ui.value || 8;
      var tooltip_Date = '<div class="tooltip_Date"><div class="tooltip_Date-inner">' + curValue + ' years</div><div class="tooltip_Date-arrow"></div></div>';
      $(this).find('.ui-slider-handle').html(tooltip_Date);
      $("#number_repayments").html(curValue);
    }
  });
});

f