[英]iron-form error when submit button in div
當我嘗試提交鐵表格時,出現此錯誤:
VM7938:3未捕獲的TypeError:Polymer.dom(...)。localTarget.parentElement.submit不是一個函數
但這僅在“提交”按鈕位於div中時發生。
這有效:
<paper-button onclick="_submit(event)">Submit</paper-button>
<paper-button dialog-dismiss onclick="_reset(event)">Cancel</paper-button>
這不是:
<div class="buttons">
<paper-button onclick="_submit(event)">Submit</paper-button>
<paper-button dialog-dismiss onclick="_reset(event)">Cancel</paper-button>
</div>
這是帶有代碼的表單:
<form is="iron-form" method="get" action="/" id="basic">
<paper-input label="Title" name="title" char-counter maxlength="25" required error-message="Fill in a title"></paper-input>
<paper-textarea label="URL" name="url" required error-message="Fill in an URL"></paper-textarea>
<div class="buttons">
<paper-button onclick="_submit(event)">Submit</paper-button>
<paper-button dialog-dismiss onclick="_reset(event)">Cancel</paper-button>
</div>
<div class="output"></div>
</form>
<script>
function _submit(event) {
Polymer.dom(event).localTarget.parentElement.submit();
}
function _reset(event) {
var form = Polymer.dom(event).localTarget.parentElement
form.reset();
form.querySelector('.output').innerHTML = '';
}
basic.addEventListener('iron-form-submit', function(event) {
this.querySelector('.output').innerHTML = JSON.stringify(event.detail);
});
</script>
它位於一個對話框中。 我已經下載了帶有bower的元素,並已將其與導入鏈接。
有人知道該如何解決或如何解決嗎?
先感謝您。
在您的代碼中, _submit
假定元素的特定順序。 具體而言,它假定Polymer.dom(event).localTarget.parentElement
是form
元素,因此,如果移動提交按鈕,則必須更改該代碼以匹配新路徑。 在您的情況下, form
是包含提交按鈕的div
的父級,因此表單的正確路徑是:
Polymer.dom(event).localTarget // paper-button
.parentElement // div.buttons
.parentElement // form
.submit();
不需要特定路徑的更靈活的解決方案是查詢文檔中的form
元素:
function _submit(event) {
// <form id="my-form" ...>
var form = document.querySelector('#my-form');
if (form) {
form.submit();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.