2016-02-19 19 views
6

Tôi đang sử dụng Polymer trong một thời gian ngắn và bây giờ tôi muốn nhận được giá trị của đầu vào giấy. Tôi không biết làm thế nào tôi có thể làm điều này. Đây không phải đang làm việc:Polymer Nhận giá trị đầu vào giấy

this.form.password 

Tôi muốn nhận được giá trị của lĩnh vực này:

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

Tôi cũng muốn có được đầu vào cho trình của đầu vào e-mail:

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

Để gửi Tôi đang sử dụng:

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

Với các trường nhập thông thường, thao tác này sẽ hoạt động.

+0

Bạn đang sử dụng hình thức này trong một phần tử polymer/thành phần? –

+0

Tôi đang sử dụng thẻ này ở một thẻ giấy –

Trả lời

6

Bạn có thể sử dụng document.querySelector('#password').value để có được giá trị của paper-input với id password trong cuộc gọi formhash() chức năng hoặc bên trong định nghĩa hàm.

Bạn cũng có thể sử dụng số Automatic node finding của polymer để nhận giá trị của một phần tử sử dụng số id của polymer. Trong đó giữ biểu mẫu/đầu vào trong phần tử tùy chỉnh và sử dụng this.$.password.value để lấy giá trị của một phần tử có id password. Như thế này

<!-- 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 --> 
+0

Bây giờ tôi có thể nhận được Giá trị, nhưng tôi không thể gửi biểu mẫu. này. $. submit(); không hoạt động hoặc this.submit(); hoặc cái gì khác. Làm cách nào tôi có thể gửi ngay bây giờ. –

+0

sử dụng 'this. $. Form.submit()' trong đó 'form' là ** id ** của thẻ' form' –

+0

Điều này không hoạt động. Tôi không biết tại sao. –

0

Sử dụng <form is="iron-form"> phép bạn sử dụng <paper-input> và đầu vào khác yếu tố trong hình thức https://elements.polymer-project.org/elements/iron-form

<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(); 
} 
+0

Nhưng điều này không hoạt động. Tôi cần giá trị cho formhash. Làm thế nào tôi có thể nhận được giá trị và hình thành nó. –

0

Nếu bạn không muốn sử dụng các giá trị đầu vào giấy trong các biến mẫu và sử dụng chúng sau bất cứ nơi nào bạn muốn.

Tất cả bạn phải làm là lưu trữ các đầu vào bên trong một giá trị như thế này:

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

Và truy cập sau nó như thế này:

var myPassword = this.valueNameToStore;

Các vấn đề liên quan