Полимерные железные формы
Я пытаюсь использовать форму железа с почтовым методом, и у меня есть некоторые сомнения в том, как это работает или даже если я вообще буду использовать его в некоторых случаях. Поэтому я пытаюсь найти ответ на следующие вопросы:
-
Из того, что я понимаю, 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 и дублировать все свои входы формы, имея каждый элемент данных, связывающий полимер, в соответствующий скрытый элемент регулярной формы.
-
Здесь есть несколько способов, вот один 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>
-
hmm, не уверен в причине этого. Кажется, плохая демонстрация/ошибка. Я взглянул на исходный код, но ничего не увидел. Интересно, действительно ли iron-ajax
или что-то еще? https://elements.polymer-project.org/elements/iron-ajax может быть
Ответ 3
@2: при любых paper-input
или iron-input
вы можете вызывать validate()
всякий раз, когда вы хотите принудительно выполнить проверку. Вы также можете использовать пользовательские валидаторы на своих входах.