1

問題

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 経由で送信しますが、紙のボタンを使用したいと考えています。

どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1