在我的应用程序中,我使用自动完成功能从jogle地图API获取地方详细信息
var place = autocomplete.getPlace();
我可以使用place.name
获取该地点的名称
在同一页面上,我有一个表格,我从用户那里得到另一个细节。问题是如何在提交表单时将place.name
传递给我的rails控制器?在js中,我尝试更改表单的HTML
<form...>
<div id="hidden_fields"></div>
</form>
使用
$("#hidden_fields").append("<input name='name' type='hidden' value='"+place.name+"' />");
但显然它不起作用。 我应该学习AJAX来做这些事情还是其他方法? 提前感谢任何暗示。
答案 0 :(得分:0)
请确保在自动填充完成后创建隐藏字段。如果在提交之前附加了隐藏变量,请检查viewsource。只要在提交之前在表单标签中提供控件,您的控制器就能够获得它。
答案 1 :(得分:0)
谢谢大家!问题已经解决了。我学到的重要事情是
&lt;%= form_for @place do | f | ...
&lt;%= f.password_field:password,:class =&gt;“form-field”,:id =&gt;“passwordField”
进入
<input class="form-field" id="passwordField" name="place[password]" type="password" />
这意味着我必须以相同的方式从js传递值:
$text.append('<input name="place[name]" type="hidden" value="'+place.name+'"/>');
希望它能帮助别人。