2016-02-19 143 views
6

我在短时间内使用聚合物,现在我想获得纸张输入的值。我不知道我该怎么做。 这不是工作:聚合物获取纸张输入值

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> 

正常的输入字段正常工作。

+0

你使用这种形式的聚合物元素/组件? –

+0

我在纸卡中使用此 –

回答

6

您可以使用document.querySelector('#password').valueformhash()函数调用或函数的定义里面有ID password得到的paper-input值使用<paper-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 --> 
+0

现在我可以获得价值,但我无法提交表单。这$提交()。不工作或this.submit();或者是其他东西。我现在如何提交。 –

+0

使用'this。$。form.submit()'其中'form'是'form'标记的** id ** –

+0

这不起作用。我不知道为什么。 –

0

使用<form is="iron-form">允许你在表单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

但这不起作用。我需要formhash的值。我如何获得价值并形成它。 –

0

如果你不想使用<form>你也可以简单的文件输入值存储在实例变量,无论你想在以后使用它们。

所有你需要做的就是输入存储这样的值内:

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

,以便日后访问它像这样:

var myPassword = this.valueNameToStore;

相关问题