Javascript 含聚合物2.0的铁形态
我有一个bug,我在jsbin中复制了这个bug: iron表单在提交serialize方法时返回的总是未定义的,并且它被调用了两次Javascript 含聚合物2.0的铁形态,javascript,polymer,web-component,iron-form,Javascript,Polymer,Web Component,Iron Form,我有一个bug,我在jsbin中复制了这个bug: iron表单在提交serialize方法时返回的总是未定义的,并且它被调用了两次 <dom-module id="my-form"> <template> <iron-form id="myForm"> <form method="get" action="cenfdsas"> <input type="text" name="cenas">
<dom-module id="my-form">
<template>
<iron-form id="myForm">
<form method="get" action="cenfdsas">
<input type="text" name="cenas">
<button on-click="cenas">Submit</button>
</form>
</iron-form>
</template>
<script>
class MyForm extends Polymer.Element {
static get is() {
return 'my-form';
}
connectedCallback() {
super.connectedCallback();
const form = this.$.myForm;
form.addEventListener('iron-form-presubmit', function (event) {
event.preventDefault();
console.log("here")
console.log(form.serialize());
});
}
cenas() {
this.$.myForm.submit();
}
}
window.customElements.define(MyForm.is, MyForm);
</script>
</dom-module>
提交
类MyForm扩展了Polymer.Element{
静态get是(){
返回“我的表格”;
}
connectedCallback(){
super.connectedCallback();
const form=this.$.myForm;
表单。addEventListener('iron-form-presubmit',函数(事件){
event.preventDefault();
console.log(“此处”)
log(form.serialize());
});
}
cenas(){
这是$.myForm.submit();
}
}
window.customElements.define(MyForm.is,MyForm);
更新
Polymer团队需要将方法的名称更改为serializeForm,因为他们有一个bug。资料来源:
但是我继续讨论提交事件,它被调用了两次
Bug-->根据,在表单中使用标准的
元素将自动提交它
然后,您应该使用链接中建议的
,或者对cenas()方法的内容进行注释