场的动态调整大小的列表中耶索德(Dynamically-Sized List of Fields i

2019-09-19 11:28发布

在HTML中,多个字段可以像这样一个非唯一的名称来指定:

<input type="checkbox" name="breakfast" value="eggs">
<input type="checkbox" name="breakfast" value="bacon">

使,提交时,查询参数获得通过类似(如果两个框打勾) breakfast=eggs&breakfast=bacon 。 CGI规范指出,这应该被解释为一个数组或值的列表中,并且该技术还为输入动态大小的列表有用:

<input type="text" name="url">
<input type="button" value="More…"
       onclick="var s = document.createElement('input');
                s.type='text';
                s.name='url';
                this.form.appendChild(s);
                return false;">

不过,我可以看到没有办法从耶索德形式获取列表值输入。 有没有办法做这样的事情?

Answer 1:

大多数预建领域的工作,对投入与单个输入(与multiSelectField一个明显的例外)。 为了实现你在找什么,你可能想创建一个自定义字段 。 请注意, fieldParse函数采用列表Text值,具体,让您的使用案例。

该表单上的章节包括了自定义字段的部分。



文章来源: Dynamically-Sized List of Fields in Yesod