我正在尝试从JS脚本中保存HTML字段(以便以后在表单中使用)。
这是代码:
表格
<form class="new_client" id="new_client" action="/clients" accept-charset="UTF-8" method="post">
<div class="form-group">
<input class="form-input" type="hidden" name="client[city]" id="client_city">
</div>
<div class="form-group">
<input class="form-input" type="hidden" name="client[address]" id="client_address">
</div>
<div id="locationField">
<input autocomplete="off" class="autocomplete" placeholder="Enter your address" type="text">
</div>
<div class="text-center">
<button class="btn button-general ">Save</button>
</div>
</form>
和javascript:
function configureGeoAutocomplete(context) {
if( context === undefined ) {
context = $('body');
}
var element = context.find('.autocomplete')
//It doesn't really matter what this line does, it's from Google Places API
var autocomplete = new google.maps.places.Autocomplete(
element[0], {types: ['geocode']});
autocomplete.addListener('place_changed', fillInAddress)
}
function fillInAddress() {
var client_address = autocomplete.getPlace().formatted_address;
document.getElementById("client_address").value = client_address;
}
在加载表单为
的模式时会查询javascriptjQuery(function() {
$('div.modal').on('loaded.bs.modal', function(e) {
configureGeoAutocomplete(context);
}
}
我想将client_address保存到文本字段,以便在提交表单时我可以获得该信息。
答案 0 :(得分:0)
如果您被允许使用,它听起来像是一个很好的候选人:http://www.w3schools.com/js/js_cookies.asp。另一个想法是在查询字符串中传递它。它不是PII或类似的东西。在该输入上尝试事件代码。我不喜欢点击“输入”!
onkeypress="if (event.keycode==13) { // do something }"
答案 1 :(得分:0)
处理表单提交事件:
$(function() {
$("#new_client").submit(function(e) {
e.preventDefault();
// This is your value stored in the field.
$("#client_address").val();
});
})
答案 2 :(得分:0)
显然,出于某种原因,如果我按ID搜索元素,则不会在场上保存信息。如果我按类别搜索:
function fillInAddress() {
var place = autocomplete.getPlace();
$(".client-address").val(place.formatted_address);
}
它按预期工作。