簡體   English   中英

div中的提交按鈕時出現鐵型錯誤

[英]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.parentElementform元素,因此,如果移動提交按鈕,則必須更改該代碼以匹配新路徑。 在您的情況下, 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM