聚合物纸标签输入未添加到表单中
Polymer paper-tags-input not added to form
尝试在 paper-tags-input 的 POST 请求中包含一个数组字段。
表格设置如下:
<paper-dialog id="dialog" modal class="size-position">
<iron-form id="myForm" on-iron-form-response="_formResponse">
<form method="post" enctype="application/json" action="http://127.0.0.1:8080/items">
<paper-input name="owner" label="Owner"></paper-input>
<paper-tags-input name="tags" label="Tag(s)" duplicate-error-message="Duplicate">
</paper-tags-input>
<div class="buttons">
<paper-button raised dialog-dismiss class="cancel">
Cancel
</paper-button>
<paper-button raised dialog-confirm autofocus on-tap="_submit" class="submit">
Submit
</paper-button>
</div>
</form>
</iron-form>
</paper-dialog>
...
<script>
...
_submit() {
this.$.myForm.submit();
}
</script>
虽然名为 owner
的 paper-input
字段包含在请求负载中,但请求负载中没有为 tags
添加任何内容。
如何获取 POST 请求负载中包含的 tags
数组字段中的值?
如果以上不可能,那么我认为另一种解决方案是声明一个名为 tags_list
的新 属性 并将其设置为 paper-tags-input
的 tags
属性=],例如:
<paper-tags-input name="tags"
label="Tag(s)"
duplicate-error-message="Duplicate"
tags="{{tags_list}}">
</paper-tags-input>
然后我看到值在 this.tags_list
中可用,我可以在 submit()
函数中访问它。我如何在提交之前将其添加到 myForm
?
想出了如何用第二种方法做到这一点。
提示来自:
向 iron 表单添加了预提交,如下所示:
<iron-form id="myForm"
on-iron-form-presubmit="_preSubmit"
on-iron-form-response="_formResponse">
...
<script>
_preSubmit() {
var body = this.$.myForm.request.body;
body['tags'] = [];
this.tags_list.forEach(function(tag) {
body['tags'].push({"name": tag});
});
}
</script>
实际上我可能需要这种方法,因为我需要修改数组值并将每个值都保留为一个对象。
尝试在 paper-tags-input 的 POST 请求中包含一个数组字段。
表格设置如下:
<paper-dialog id="dialog" modal class="size-position">
<iron-form id="myForm" on-iron-form-response="_formResponse">
<form method="post" enctype="application/json" action="http://127.0.0.1:8080/items">
<paper-input name="owner" label="Owner"></paper-input>
<paper-tags-input name="tags" label="Tag(s)" duplicate-error-message="Duplicate">
</paper-tags-input>
<div class="buttons">
<paper-button raised dialog-dismiss class="cancel">
Cancel
</paper-button>
<paper-button raised dialog-confirm autofocus on-tap="_submit" class="submit">
Submit
</paper-button>
</div>
</form>
</iron-form>
</paper-dialog>
...
<script>
...
_submit() {
this.$.myForm.submit();
}
</script>
虽然名为 owner
的 paper-input
字段包含在请求负载中,但请求负载中没有为 tags
添加任何内容。
如何获取 POST 请求负载中包含的 tags
数组字段中的值?
如果以上不可能,那么我认为另一种解决方案是声明一个名为 tags_list
的新 属性 并将其设置为 paper-tags-input
的 tags
属性=],例如:
<paper-tags-input name="tags"
label="Tag(s)"
duplicate-error-message="Duplicate"
tags="{{tags_list}}">
</paper-tags-input>
然后我看到值在 this.tags_list
中可用,我可以在 submit()
函数中访问它。我如何在提交之前将其添加到 myForm
?
想出了如何用第二种方法做到这一点。
提示来自:
向 iron 表单添加了预提交,如下所示:
<iron-form id="myForm"
on-iron-form-presubmit="_preSubmit"
on-iron-form-response="_formResponse">
...
<script>
_preSubmit() {
var body = this.$.myForm.request.body;
body['tags'] = [];
this.tags_list.forEach(function(tag) {
body['tags'].push({"name": tag});
});
}
</script>
实际上我可能需要这种方法,因为我需要修改数组值并将每个值都保留为一个对象。