Polymer 使用纸张图标按钮作为输入按钮提交表单

Polymer 使用纸张图标按钮作为输入按钮提交表单,polymer,polymer-1.0,paper-elements,Polymer,Polymer 1.0,Paper Elements,我正在尝试使用纸张图标按钮作为输入按钮来提交表单 <form method="POST" action="self"> <paper-icon-button icon="star" extends="input" name="favourite" noscript></paper-icon-button> <input type="hidden" name="hiddenId" value="1"/>

我正在尝试使用纸张图标按钮作为输入按钮来提交表单

<form method="POST" action="self">
   <paper-icon-button icon="star" extends="input" name="favourite" noscript></paper-icon-button>
   <input type="hidden" name="hiddenId" value="1"/>                 
   <input type="hidden" is="favourite">
</form>

这似乎不是在提交表单

我做错了什么


提前感谢。

这是因为
纸张图标按钮
不是
按钮
输入
类型的
提交
,因此不会提交表单。您可以做的是向按钮添加一个单击事件,该按钮调用提交表单的函数。

这是因为
纸张图标按钮
不是类型为
提交
按钮或
输入
,因此不会提交表单。您可以做的是向按钮添加一个单击事件,该按钮调用提交表单的函数。

您可以使用以下方法:

<button type="submit">
  <iron-icon icon="star"></iron-icon>
</button>
或者,正如@Ben Thomas所建议的,这样做:

<form method="POST" action="self" id="the-form">
   <paper-icon-button icon="star" extends="input" name="favourite" raised onclick="submitForm()"></paper-icon-button>
   <input type="hidden" name="hiddenId" value="1"/>                 
   <input type="hidden" is="favourite">
</form>

function submitForm() {
  document.getElementById('the-form').submit();
}

函数submitForm(){
document.getElementById('the-form').submit();
}

您可以使用此解决方案:

<button type="submit">
  <iron-icon icon="star"></iron-icon>
</button>
或者,正如@Ben Thomas所建议的,这样做:

<form method="POST" action="self" id="the-form">
   <paper-icon-button icon="star" extends="input" name="favourite" raised onclick="submitForm()"></paper-icon-button>
   <input type="hidden" name="hiddenId" value="1"/>                 
   <input type="hidden" is="favourite">
</form>

function submitForm() {
  document.getElementById('the-form').submit();
}

函数submitForm(){
document.getElementById('the-form').submit();
}

也要解决“必需”的字段验证问题

最好使用此属性:

function submitForm(event) {
    Polymer.dom(event).localTarget.parentElement.submit();
}
不要忘记
标记中的属性“is”:

<form is="iron-form" method="POST" action="self">


更多信息:

还需解决“必需”字段验证问题

最好使用此属性:

function submitForm(event) {
    Polymer.dom(event).localTarget.parentElement.submit();
}
不要忘记标记中的属性“is”:

<form is="iron-form" method="POST" action="self">

更多信息: