使用地理填充jquery地理编码的表单提交不会张贴纬度&经度

时间:2013-03-29 04:03:03

标签: jquery forms geocoding

我正在使用http://ubilabs.github.com/geocomplete/来提交表格提交纬度&经度。如果我只是在下方执行触发器,它可以工作并填满lat& lng字段。但是,当我添加提交jquery代码时,它会提交空白字段。我知道它的一些时间性因为我可以看到字段填满但不通过POST发送。但我无法弄清楚,有什么建议吗?

<script>
  $(document).ready(function(){
  // Area for any jQuery
    $("#geocomplete").geocomplete({
      details: "form",
      types: ["geocode", "establishment"]
    });

    $("#geoform").submit(function() {
      $("#geocomplete").trigger("geocode");
      alert('Handler for .submit() called.');
      return true;
    });
  });
</script>


<form id="geoform" method=post action="/foo.php">
  <input id="geocomplete" type="text" placeholder="Type in an address" value="Empire State Bldg" />
  <!--<input id="find" type="button" value="find" />-->
  <input type="submit" value="Go" />

  <fieldset>
    <input name="lat" type="text" value="">
    <input name="lng" type="text" value="">
    <input name="query" type="hidden" value="true">
  </fieldset>
</form>

1 个答案:

答案 0 :(得分:3)

我从提交功能中删除了触发器,并添加了延迟。

<script>

      $(document).ready(function(){
      // Area for any jQuery
        $("#geocomplete").geocomplete({
          details: "form",
          types: ["geocode", "establishment"]
        });

        $("#submit-button").click(function() {
          $("#geocomplete").trigger("geocode");
          setTimeout("$('#geoform').submit();",500);
        });
      });
    </script>


    <form id="geoform" method=post action="/foo.php">
      <input id="geocomplete" type="text" placeholder="Type in an address" value="Empire State Bldg" />
      <!--<input id="find" type="button" value="find" />-->
      <input id="#submit-button" type="button" value="Go" />

      <fieldset>
        <input name="lat" type="text" value="">
        <input name="lng" type="text" value="">
        <input name="query" type="hidden" value="true">
      </fieldset>
    </form>