2016-02-19 17 views
6

Sto usando Polymer per un breve periodo e ora voglio ottenere il valore di un input di carta. Non so come posso farlo. Questo non funziona:Polymer Get Paper Input Value

this.form.password 

voglio ottenere il valore di questo campo:

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

Voglio anche ottenere l'ingresso per la presentazione dell'ingresso e-mail:

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

Per invio Sto utilizzando:

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

Con i normali campi di input funziona.

+0

Stai usando questa forma in un elemento/componente polimerico? –

+0

Lo sto usando in una carta cartacea –

risposta

6

È possibile utilizzare document.querySelector('#password').value per ottenere il valore di paper-input con id password nella chiamata formhash() funzione o all'interno della definizione di funzione.

È inoltre possibile utilizzare il polimero Automatic node finding per ottenere il valore di un elemento utilizzando il suo id. In cui mantenere il modulo/input in elemento personalizzato e utilizzare this.$.password.value per ottenere il valore di un elemento con ID password. Ti piace questa

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

Ora posso ottenere il valore, ma non posso inviare il modulo. . Questo $ presentare().; non funziona o this.submit(); o qualcos'altro. Come posso inviare ora. –

+0

usa 'this. $. Form.submit()' dove 'form' è il ** id ** del tag' form' –

+0

Questo non funziona. Non so perché. –

0

Utilizzando <form is="iron-form"> consente di utilizzare <paper-input> e altri input elementi in forme 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

Ma questo non funziona. Ho bisogno del valore per il formhash. Come posso ottenere il valore e formarlo. –

0

Se non si desidera utilizzare <form> si può anche semplicemente memorizzare i valori della carta di ingresso in variabili di istanza e usarle in seguito dove vuoi.

Tutto quello che dovete fare è archiviare l'ingresso all'interno di un valore come questo:

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

E l'accesso più avanti in questo modo:

var myPassword = this.valueNameToStore;

Problemi correlati