Polymer 聚合:表单不发送纸张输入值,且所需属性不起作用
我有以下组成部分:Polymer 聚合:表单不发送纸张输入值,且所需属性不起作用,polymer,polymer-2.x,Polymer,Polymer 2.x,我有以下组成部分: <link rel="import" href="./bower_components/polymer/polymer-element.html"> <link rel="import" href="./bower_components/paper-input/paper-input.html"> <link rel="import" href="./bower_components/iron-form/iron-form.html">
<link rel="import" href="./bower_components/polymer/polymer-element.html">
<link rel="import" href="./bower_components/paper-input/paper-input.html">
<link rel="import" href="./bower_components/iron-form/iron-form.html">
<dom-module id="my-form">
<template>
<b>Test</b>
<form is="iron-form" id="form" method="post" action="/save">
<paper-input name="name" value=""></paper-input>
<button type="submit">submit!</button>
</form>
</template>
<script>
/**
* @customElement
* @polymer
*/
class MyForm extends Polymer.Element {
static get is() { return 'my-form'; }
static get properties() {
return { };
}
}
window.customElements.define(MyForm.is, MyForm);
</script>
</dom-module>
试验
提交
/**
*@customElement
*@聚合物
*/
类MyForm扩展了Polymer.Element{
静态get是(){return'my form';}
静态获取属性(){
返回{};
}
}
window.customElements.define(MyForm.is,MyForm);
有两个问题:
is=
)
这是代码无法工作的主要原因。is
属性不再受支持
使用的当前解决方法如下所示:
// Before 2.0
<form /.../ is="iron-form"></form>
// After 2.0
<iron-form>
<form /.../></form>
</iron-form>
//2.0之前的版本
//2.0之后
然后,您的代码应该如下所示:
<link rel="import" href="./bower_components/polymer/polymer-element.html">
<link rel="import" href="./bower_components/paper-input/paper-input.html">
<link rel="import" href="./bower_components/iron-form/iron-form.html">
<dom-module id="my-form">
<template>
<b>Test</b>
<iron-form>
<form id="form" method="post" action="/save">
<paper-input name="name" value=""></paper-input>
<button type="submit">submit!</button>
</form>
</iron-form>
</template>
<script>
/**
* @customElement
* @polymer
*/
class MyForm extends Polymer.Element {
static get is() { return 'my-form'; }
static get properties() {
return { };
}
}
window.customElements.define(MyForm.is, MyForm);
</script>
</dom-module>
试验
提交
/**
*@customElement
*@聚合物
*/
类MyForm扩展了Polymer.Element{
静态get是(){return'my form';}
静态获取属性(){
返回{};
}
}
window.customElements.define(MyForm.is,MyForm);
来自:
此外,尽管规范中支持类型扩展元素,但Polymer 2.0目前不支持类型扩展元素(is=
)
这是代码无法工作的主要原因。is
属性不再受支持
使用的当前解决方法如下所示:
// Before 2.0
<form /.../ is="iron-form"></form>
// After 2.0
<iron-form>
<form /.../></form>
</iron-form>
//2.0之前的版本
//2.0之后
然后,您的代码应该如下所示:
<link rel="import" href="./bower_components/polymer/polymer-element.html">
<link rel="import" href="./bower_components/paper-input/paper-input.html">
<link rel="import" href="./bower_components/iron-form/iron-form.html">
<dom-module id="my-form">
<template>
<b>Test</b>
<iron-form>
<form id="form" method="post" action="/save">
<paper-input name="name" value=""></paper-input>
<button type="submit">submit!</button>
</form>
</iron-form>
</template>
<script>
/**
* @customElement
* @polymer
*/
class MyForm extends Polymer.Element {
static get is() { return 'my-form'; }
static get properties() {
return { };
}
}
window.customElements.define(MyForm.is, MyForm);
</script>
</dom-module>
试验
提交
/**
*@customElement
*@聚合物
*/
类MyForm扩展了Polymer.Element{
静态get是(){return'my form';}
静态获取属性(){
返回{};
}
}
window.customElements.define(MyForm.is,MyForm);
请看第三个示例,谢谢@Alon,但它对我不起作用。我用的是聚合物v2。此外,我希望避免在纸质输入无效时提交表单。然后使用调用某些函数的纸质按钮,在该按钮中,您可以验证
铁制表单,如果验证
返回true,则在铁制表单
上调用提交
?这是你想要的吗?我不能让它工作,我想这是因为我用的是聚合物2required
属性在我使用Polymer 1时起作用(但不是invalid
property)@Amparo您的bower.json中有哪个版本的iron表单?你能告诉我吗?看看第三个例子,谢谢@Alon,但它对我不起作用。我用的是聚合物v2。此外,我希望避免在纸质输入无效时提交表单。然后使用调用某些函数的纸质按钮,在该按钮中,您可以验证
铁制表单,如果验证
返回true,则在铁制表单
上调用提交
?这是你想要的吗?我不能让它工作,我想这是因为我用的是聚合物2required
属性在我使用Polymer 1时起作用(但不是invalid
property)@Amparo您的bower.json中有哪个版本的iron表单?你能告诉我吗?