我使用iron-form将数据发送到Rails服务器。目前,表单发送的JSON类似于:
{
"date": "January 1",
"name": "John Doe",
"company": "Whatever Inc."
}
但是为了在Rails端接收它,我需要将其格式化为:
{
"userInfo": {
"date": "January 1",
"name": "John Doe",
"company": "Whatever Inc."
}
}
如何将表单数据嵌套在userInfo
param中?我尝试使用iron-form-presubmit
事件监听器,但无法使其正常工作。
以下是我的铁形式的代码:
<form is="iron-form" id="form" method="post" action="url/for/api">
<input name="date" is="iron-input">
<input name="name" is="iron-input">
<input name="company" is="iron-input">
<div id="buttons">
<paper-button id="submit" raised onclick="_submit(event)">Save</paper-button>
<paper-button id="reset" raised onclick="_reset(event)">Reset </paper-button>
</div>
</form>
和javascript:
<script>
Polymer({
is: 'my-view1',
});
function _submit(event) {
var form = Polymer.dom(event).localTarget.parentElement.parentElement;
form.submit();
}
function _reset(event) {
var form = Polymer.dom(event).localTarget.parentElement.parentElement;
form.reset();
}
</script>
答案 0 :(得分:1)
根据我的理解,您可以在提交数据之前更新请求正文,并将当前数据转换为您喜欢的对象/结构:
<form is="iron-form" on-iron-form-presubmit="_presubmit" id="form" method="post" action="url/for/api">
<input name="date" is="iron-input">
<input name="name" is="iron-input">
<input name="company" is="iron-input">
<div id="buttons">
<paper-button id="submit" raised onclick="_submit(event)">Save</paper-button>
<paper-button id="reset" raised onclick="_reset(event)">Reset </paper-button>
</div>
</form>
类似于完成here,但完全改变了身体
function _presubmit(e) {
let body = this.$.form.request.body;
body = {"userInfo" : body };
}
希望这会有所帮助。