問題
Polymer 3 で Iron-Form を送信したいのですが、紙のボタンを使用しており、フォームは Iron-Ajax 経由で送信する必要があります。
これは私のview.jsです
import { PolymerElement, html } from '@polymer/polymer/polymer-element.js';
import './shared-styles.js';
class Foo extends PolymerElement {
static get template() {
return html'
<iron-form>
<form id="formOne" method="post" action="https://my-api-url.com" is="iron-form">
<paper-input name="input-1" placeholder="Input One"></paper-input>
<paper-button on-tap="submitHandler">Submit</paper-button>
</form>
</iron-form>
';
}
submitHandler() {
this.$.formOne.generateRequest();
}
}
window.customElements.define('foo', Foo);
paper-button をクリックしてもフォームが送信されません。
私が試したこと
- iron-ajax 要素を手動で作成し、 でリクエストを行い
generateRequest()
ました。それはうまくいきました。 submitHandler
関数にアラートを入れました。示されました。- でフォームを送信してみました
this.$.formOne.submit()
。それもうまくいきました。もちろん、フォームは ajax 経由では送信されませんでしたが、API ページは開かれました。 <button>
フォームを送信するための通常を作成しました。これは機能し、フォームも ajax 経由で送信しますが、紙のボタンを使用したいと考えています。
どんな助けでも大歓迎です。ありがとう!