【问题标题】:Paper-dropdown-menu validation inside a iron-form in Polymer 2Polymer 2中铁形式内的纸张下拉菜单验证
【发布时间】:2017-04-04 13:55:05
【问题描述】:

我正在尝试在 Polymer 2 中处理铁形式内的纸张下拉菜单。我找到了一个使用 Polymer 1 制作的示例:

    <form is="iron-form" method="get" action="/" id="basic">
      <paper-input name="name" label="Name" required></paper-input>
      <br>
      <input type="checkbox" name="food" value="donuts" checked> I like donuts<br>
      <input type="checkbox" name="food" value="pizza" required> I like pizza<br>
      <paper-checkbox name="food" value="cheese" required>I like cheese</paper-checkbox><br>
      <paper-dropdown-menu label="Cars" name="cars" required>
        <paper-menu class="dropdown-content">
          <paper-item value="volvo">Volvo</paper-item>
          <paper-item value="saab">Saab</paper-item>
          <paper-item value="fiat">Fiat</paper-item>
          <paper-item value="audi">Audi</paper-item>
        </paper-menu>
      </paper-dropdown-menu>
      <paper-button raised onclick="_submit(event)">Submit</paper-button>
      <paper-button raised onclick="_reset(event)">Reset</paper-button>
      <div class="output"></div>
    </form>

我的目标是在表单内部验证只有在用户选择了纸张下拉菜单的项目时才能执行提交。如何在 Polymer2 中实现这种行为?

【问题讨论】:

    标签: javascript html polymer


    【解决方案1】:

    首先,如果您想发送不在浏览器 url 中的正文,则需要删除 get 方法。您的代码将如下所示:

    <form is="iron-form" id="basic">
      <paper-input name="name" label="Name" required></paper-input>
      <br>
      <input type="checkbox" name="food" value="donuts" checked> I like donuts<br>
      <input type="checkbox" name="food" value="pizza" required> I like pizza<br>
      <paper-checkbox name="food" value="cheese" required>I like cheese</paper-checkbox><br>
      <paper-dropdown-menu label="Cars" name="cars" required>
        <paper-menu class="dropdown-content">
          <paper-item value="volvo">Volvo</paper-item>
          <paper-item value="saab">Saab</paper-item>
          <paper-item value="fiat">Fiat</paper-item>
          <paper-item value="audi">Audi</paper-item>
        </paper-menu>
      </paper-dropdown-menu>
      <paper-button raised on-tap="_submit">Submit</paper-button>
      <paper-button raised on-tap="_reset">Reset</paper-button>
      <div class="output"></div>
    </form>
    

    表单提交和重置的监听器也必须有类似的代码:

            _submit: function () {
                //select your form and call validate method on it
                var form = this.$.basic;
                var validForm = form.validate();
                if (validForm) {
                    //get ajax element, set right body and send request
                    //var ajax = this.$.ajax;
                    //ajax.body = form.serialize();
                    //ajax.generateRequest();
                }
            },
            _reset: function () {
                //select your form and call reset method on it
                this.$.basic.reset();
            }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-28
    • 2016-09-15
    • 1970-01-01
    • 1970-01-01
    • 2016-01-21
    • 2017-04-25
    • 2018-08-23
    相关资源
    最近更新 更多