簡體   English   中英

我無法使用索引訪問dom-repeat內部的鐵形式

[英]I can't access iron-form inside dom-repeat by using index

我正在從cassandra數據庫中加載一些記錄(使用iron-ajax和dom-repeat),然后單擊一行,以打開一個紙張對話框,其中值被加載到包含紙張輸入可編輯字段的鐵表單中。 編輯后,我應該能夠提交以便更新數據庫中的記錄,但是使用紙質按鈕不起作用(至少使用一個簡單的按鈕正在嘗試將內容發送到REST,以415結尾錯誤)。 我試過的是這樣的:

  <iron-ajax id="get_drafts" auto handle-as="json" last-response="{{drafts}}"></iron-ajax>
  <template is="dom-repeat" items="{{drafts}}" as="item">
  <div>{{item.field1}}</div>
  <span><paper-button title="edit" on-click="openEditDialog"></paper-button></span>
    <paper-dialog id="incidentEditDialog{{index}}" with-backdrop>
       <form is="iron-form" action="/" id="myForm{{index}}" method="post">
         <paper-input value="{{item.field1}}"><paper-input>
         <paper-button raised on-click="submit">Submit</paper-button>
       </form>
    </paper-dialog>  
  </template>

然后嘗試使用所有無法使用的腳本選項,主要是因為我未能通過使用id-myForm {{index}}來成功識別表單。 我發現了各種示例,但都沒有發現這種扭曲(在dom-repeat中形成)。 這至少可行嗎? 我應該如何嘗試呢? 謝謝! 如果我使用:

 <paper-button raised onclick="clickHandler(event)">Submit</paper-button>

然后是方法

 function clickHandler(event) {
       Polymer.dom(event).localTarget.parentElement.submit();
    }

我收到415錯誤:發生意外錯誤(類型=不支持的媒體類型,狀態= 415)。 不支持內容類型“應用程序/ x-www-form-urlencoded”

問題是<form> (甚至用鐵表單擴展)在紙質按鈕上無法像在本機<button><input>那樣無縫地協同工作。

當你on-click="submit"紙上按鈕,您將需要定義一個submit方法(相同的方式,你在你的例子對clickHandler做)。

如果您不想這樣做,一個好的解決方法是將紙質按鈕包裝在本機按鈕中:

<button tabindex="-1"> <paper-button>Submit</paper-button> </button>

tabindex為負,因此包裝器無法獲得焦點。

不受支持的媒體類型錯誤是一個單獨的問題,但是將content-type="application/json"<form>可能會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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