Полимерные железные формы

Я пытаюсь использовать форму железа с почтовым методом, и у меня есть некоторые сомнения в том, как это работает или даже если я вообще буду использовать его в некоторых случаях. Поэтому я пытаюсь найти ответ на следующие вопросы:

  • Из того, что я понимаю, iron-form используется только для запросов Ajax, поэтому, чтобы сделать регулярную запись (которая обновляет страницу), я не должен ее использовать, правильно? (True/False)

  • Если я не использую is='iron-form', есть ли другой способ проверки полей для ввода бумаги, например?

  • (Теперь это то, что меня больше смущает). Используя форму iron с методом post, я получаю только данные формы как "formData: [object Object]", что делает вещи совершенно бесполезными на бэкэнд, которые не получают значения элементов формы когда-либо.

    Такое поведение можно увидеть на демо-странице железной формы https://elements.polymer-project.org/elements/iron-form?view=demo:demo/index.html

    Есть ли способ отправить сообщение с использованием железной формы и сохранить регулярное поведение почты?

При поиске в StackOverflow этот поток, похоже, заботится о подобной проблеме Отправка формы методом POST и Polymer iron-form?, хотя "fix" сделал не работает для меня, поскольку я, кажется, использую версию 1.0.8.

bower iron-form#^1.0.0 validate 1.0.8 against git://github.com/PolymerElements/iron-form.git#^1.0.0

Причина для формы: [object Object] Таким образом, кажется, что проблема решена в iron-ajax # 1.0.4 Я использую bower с PolymerElements/iron-elements в качестве зависимости, которая только ударяет до версии 1.0.0 от iron-ajax, как только я заставил iron-ajax использовать v1.0.4, полезная нагрузка из сообщения формы, похоже, исправлена.

Эта проблема в том, что заставило меня туда https://github.com/PolymerElements/iron-ajax/pull/80

Ответы

Ответ 1

Причина для точки 3), в которой прошла форма формы железа. Data: [object Object]

Итак, кажется, что проблема решена в iron-ajax # 1.0.4. Я использую беседу с элементами PolymerElements/iron-elements как зависимость, которая только ударяет до версии 1.0.0 из железа-ajax, как только я заставил железо -ajax, чтобы использовать v1.0.4, Полезная нагрузка из сообщения формы, похоже, исправлена.

Это проблема, которая заставила меня туда https://github.com/PolymerElements/iron-ajax/pull/80

Ответ 2

  • Это полностью зависит от вашего прецедента. Если вы хотите, чтобы страница перезагружалась после успешной публикации, одним из способов сделать это было бы использование метода iron-ajax on-response и просто вызвать функцию, которая обновляет страницу

HTML

<iron-ajax
    auto
    url="http://gdata.youtube.com/feeds/api/videos/"
    params='{"alt":"json", "q":"chrome"}'
    handle-as="json"
    on-response="handleResponse"
    debounce-duration="300"></iron-ajax>

js, например. что-то вроде

function handleResponse(){ location.reload(); }

или вы можете использовать эту идею от robdodson и дублировать все свои входы формы, имея каждый элемент данных, связывающий полимер, в соответствующий скрытый элемент регулярной формы.

  1. Здесь есть несколько способов, вот один http://plnkr.co/edit/2C7KmE?p=preview

    <numbers-input></numbers-input>
    
    <polymer-element name='numbers-input'>
      <template>
        <paper-input-decorator id='myPaperInput' label='Number' error='numbers only' floatingLabel autovalidate>
          <input is='core-input' pattern='^[0-9]*$'>
        </paper-input-decorator>
      </template>
      <script>Polymer();</script>
    </polymer-element>
    
  2. hmm, не уверен в причине этого. Кажется, плохая демонстрация/ошибка. Я взглянул на исходный код, но ничего не увидел. Интересно, действительно ли iron-ajax или что-то еще? https://elements.polymer-project.org/elements/iron-ajax может быть

Ответ 3

@2: при любых paper-input или iron-input вы можете вызывать validate() всякий раз, когда вы хотите принудительно выполнить проверку. Вы также можете использовать пользовательские валидаторы на своих входах.