【问题标题】:Polymer Get Paper Input Value聚合物获取纸张输入值
【发布时间】:2016-02-19 19:55:21
【问题描述】:

我使用 Polymer 的时间很短,现在我想获得纸质输入的价值。我不知道我该怎么做。 这不起作用:

this.form.password

我想得到这个字段的值:

<paper-input label="Password" type="password" id="password" name="password" size="25" value=""></paper-input>

我还想获取用于提交电子邮件输入的输入:

<paper-input label="Login" id="email" name="email" size="25" value=""></paper-input>

为了提交我正在使用:

<paper-button raised value="Login" type="submit" onclick="formhash(this.form, this.form.password);">Login</paper-button>

使用普通输入字段是否有效。

【问题讨论】:

  • 您是否在聚合物元件/组件中使用这种形式?
  • 我在纸卡中使用这个

标签: input polymer


【解决方案1】:

您可以在formhash() 函数调用或函数定义中使用document.querySelector('#password').value 来获取ID 为passwordpaper-input 的值。

您还可以使用聚合物的Automatic node finding 来获取使用其id 的元素的值。其中将表单/输入保留在自定义元素中,并使用this.$.password.value 获取 ID 为 password 的元素的值。像这样

<!-- create a custom component my-form --> 
<dom-module id="my-form">
    <template> 
      <form is="iron-form" id="form" method="post">
        <paper-input name="name" label="name" id="name"></paper-input>
        <paper-button raised on-click="submitForm">Submit</paper-button>
      </form>
    </template>
    <script type="text/javascript">
        Polymer({
            is: "my-form",
            submitForm: function() {
                alert(this.$.name.value);
                if(this.$.name.value != "") // whatever input check
                   this.$.form.submit();
            }
        })
    </script>
</dom-module>

<my-form></my-form> <!-- use custom-component my-form -->

【讨论】:

  • 现在我可以获取价值,但我无法提交表单。 this.$.submit();不工作或 this.submit();或者是其他东西。我现在如何提交。
  • 使用this.$.form.submit(),其中formform标签的id
  • 这是一个工作的jsbin,点击提交按钮后检查控制台日志,由于CORS,post/get请求被jsbin阻止。 submit() 调用创建请求。顺便说一句,您的问题是关于访问输入值,它正在工作。
【解决方案2】:

如果您不想使用&lt;form&gt;,您也可以简单地将纸张输入值存储在实例变量中,然后在任何需要的地方使用它们。

您所要做的就是将输入存储在这样的值中:

&lt;paper-input label="Password" type="password" id="password" name="password" size="25" value="{{valueNameToStore}}"&gt;&lt;/paper-input&gt;

然后像这样访问它:

var myPassword = this.valueNameToStore;

【讨论】:

    【解决方案3】:

    使用&lt;form is="iron-form"&gt; 允许您在https://elements.polymer-project.org/elements/iron-form 表单中使用&lt;paper-input&gt; 和其他输入元素

    <form is="iron-form" id="form" method="post" action="/form/handler">
      <paper-input name="name" label="name"></paper-input>
      <input name="address">
      ...
      <paper-button raised onclick="submitForm()">Submit</paper-button>
    </form>
    
    
    function submitForm() {
      document.getElementById('form').submit();
    }
    

    【讨论】:

    • 但这不起作用。我需要 formhash 的值。我怎样才能获得价值并形成它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-27
    • 1970-01-01
    • 1970-01-01
    • 2017-05-07
    • 1970-01-01
    相关资源
    最近更新 更多