如何使用document.getElementById('elementID')从JavaScript中的纸质输入元素获取值

时间:2017-07-17 21:42:01

标签: javascript html polymer

我无法检索聚合物js中纸张输入的值。我正在使用纸张输入,当我尝试使用document.getElementById('ID')获取值时,它不起作用并且说无法读取null的属性'value'。

<paper-input id='firstName' label="First name" auto-validate allowed-pattern="([a-zA-Z])" required error-message="Field is required">
</paper-input>
<paper-button id="submitButton" raised type="submit" on-click="validateForm">Submit</paper-button>

JS

validateForm() {
    alert (document.getElementById('firstName').value );
}

1 个答案:

答案 0 :(得分:0)

使用Polymer时,使用getElementById()是一种不好的做法。而不是我会使用Automatic node finding in Polymer
我在下面添加了一个例子。我也将你的点击改为点击式,因为Polymer建议这样做。
另一种方法是使用querySelector()。value获取值 如图所示here。但是,我更喜欢数据绑定方式。

<dom-module id="x-custom">
  <template>
    <paper-input id='firstName' label="First name" value="[[inputValue]]"
                 auto-validate allowed-pattern="([a-zA-Z])" required error-message="Field is required">
   </paper-input>
   <paper-button id="submitButton" raised
                 on-tap="validateForm">Submit</paper-button>
  </template>

  <script>
    Polymer({
      is: 'x-custom',
        properties: {
          inputValue: {
            type: String
        }
      },

      validateForm: function() {
        console.log(this.inputValue);
      }
    });
  </script>
</dom-module>