我一直在尝试使用铁形式和post方法,我对它是如何工作有疑问,或者甚至在某些情况下我应该使用它。所以我试图找到以下问题的答案:
根据我的理解,铁形式仅用于Ajax请求,因此要定期发布(刷新页面),我不应该使用它,对吧? (真/假)
如果我不使用is='iron-form'
,是否还有其他方法来验证纸张输入字段?
(现在这让我感到很困惑。)使用带有post方法的铁形式,我只得到表格数据为"formData: [object Object]"
,这使得后端的内容完全没用没有获得表单元素值。
这种行为可以在铁形演示页https://elements.polymer-project.org/elements/iron-form?view=demo:demo/index.html
上看到有没有办法使用铁形式发送帖子并保持常规帖子的行为?
在StackOverflow上搜索时,此线程似乎会处理类似的问题Sending form with POST method and Polymer iron-form?,尽管“修复”#39;对我来说不起作用,因为我似乎正在使用1.0.8版本。
bower iron-form#^1.0.0 validate 1.0.8 against git://github.com/PolymerElements/iron-form.git#^1.0.0
formData的原因:[object Object] 所以似乎问题在iron-ajax#1.0.4中得到了解决 我正在使用带有PolymerElements / iron-elements的bower作为依赖,只有碰到版本1.0.0的铁-ajax,一旦我强迫iron-ajax使用v1.0.4,来自表格帖子的Payload似乎得到纠正。
答案 0 :(得分:2)
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>
例如
之类的东西function handleResponse(){ location.reload(); }
或者您可以使用this idea from 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>
嗯,不确定原因。似乎是一个糟糕的演示/错误。我看了一下源代码,但没有看到任何明显的东西。我想知道iron-ajax
是否真的需要什么? https://elements.polymer-project.org/elements/iron-ajax可以是
答案 1 :(得分:2)
第3点的原因,其中铁形式传递了formData:[object Object]
所以似乎这个问题在iron-ajax#1.0.4中得到解决我正在使用带有PolymerElements / iron-elements的bower作为依赖,只有碰到版本1.0.0的铁-ajax,一旦我强迫铁-ajax使用v1.0.4,表单帖子中的Payload似乎得到纠正。
的问题答案 2 :(得分:2)
@ 2:在任何paper-input
或iron-input
上,只要您想强制验证,就可以致电validate()
。您还可以在输入中使用自定义验证器。