0

我正在使用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>
4

1 回答 1

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>
于 2013-03-29T04:40:32.560 回答