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>
通常の入力フィールドでは、これが機能します。
document.querySelector('#password').value
を使用して、formhash()
関数呼び出しまたは関数定義内でIDpassword
のpaper-input
の値を取得できます。
ポリマーの 自動ノード検索 を使用して、そのid
を使用して要素の値を取得することもできます。ここでは、フォーム/入力をcustom-elementに保持し、this.$.password.value
を使用してIDpassword
の要素の値を取得します。このような
<!-- 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 -->
<form>
を使用したくない場合は、紙の入力値をインスタンス変数に格納し、後で必要な場所で使用することもできます。
あなたがしなければならないのは、次のような値の中に入力を保存することです:
<paper-input label="Password" type="password" id="password" name="password" size="25" value="{{valueNameToStore}}"></paper-input>
そして後でこのようにアクセスします:
var myPassword = this.valueNameToStore;
<form is="iron-form">
を使用すると、<paper-input>
およびその他の入力要素をフォームで使用できます 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();
}