Javascript将值赋给HTML字段

时间:2016-02-26 17:56:56

标签: javascript jquery html

我正在尝试从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;
}

在加载表单为

的模式时会查询javascript
jQuery(function() {
  $('div.modal').on('loaded.bs.modal', function(e) {
    configureGeoAutocomplete(context);
  }
}

我想将client_address保存到文本字段,以便在提交表单时我可以获得该信息。

3 个答案:

答案 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);
}

它按预期工作。