[英]Paper-dropdown-menu validation inside a iron-form in Polymer 2
我試圖在Polymer 2中處理鐵型表單中的下拉菜單。我發現了一個用Polymer 1制作的示例:
<form is="iron-form" method="get" action="/" id="basic">
<paper-input name="name" label="Name" required></paper-input>
<br>
<input type="checkbox" name="food" value="donuts" checked> I like donuts<br>
<input type="checkbox" name="food" value="pizza" required> I like pizza<br>
<paper-checkbox name="food" value="cheese" required>I like cheese</paper-checkbox><br>
<paper-dropdown-menu label="Cars" name="cars" required>
<paper-menu class="dropdown-content">
<paper-item value="volvo">Volvo</paper-item>
<paper-item value="saab">Saab</paper-item>
<paper-item value="fiat">Fiat</paper-item>
<paper-item value="audi">Audi</paper-item>
</paper-menu>
</paper-dropdown-menu>
<paper-button raised onclick="_submit(event)">Submit</paper-button>
<paper-button raised onclick="_reset(event)">Reset</paper-button>
<div class="output"></div>
</form>
我的目的是在表單內部驗證僅當用戶選擇了下拉菜單中的一項時才可以執行提交。 如何在Polymer2中實現此行為?
首先,如果要發送不在瀏覽器URL中的正文,則需要刪除get方法。 您的代碼將如下所示:
<form is="iron-form" id="basic">
<paper-input name="name" label="Name" required></paper-input>
<br>
<input type="checkbox" name="food" value="donuts" checked> I like donuts<br>
<input type="checkbox" name="food" value="pizza" required> I like pizza<br>
<paper-checkbox name="food" value="cheese" required>I like cheese</paper-checkbox><br>
<paper-dropdown-menu label="Cars" name="cars" required>
<paper-menu class="dropdown-content">
<paper-item value="volvo">Volvo</paper-item>
<paper-item value="saab">Saab</paper-item>
<paper-item value="fiat">Fiat</paper-item>
<paper-item value="audi">Audi</paper-item>
</paper-menu>
</paper-dropdown-menu>
<paper-button raised on-tap="_submit">Submit</paper-button>
<paper-button raised on-tap="_reset">Reset</paper-button>
<div class="output"></div>
</form>
表單提交和重置的偵聽器還必須具有與之相似的代碼:
_submit: function () {
//select your form and call validate method on it
var form = this.$.basic;
var validForm = form.validate();
if (validForm) {
//get ajax element, set right body and send request
//var ajax = this.$.ajax;
//ajax.body = form.serialize();
//ajax.generateRequest();
}
},
_reset: function () {
//select your form and call reset method on it
this.$.basic.reset();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.