有值时自动提交表单

时间:2012-02-06 07:18:27

标签: jquery jquery-mobile

我正在开发一个移动应用程序,我有一个初始页面,可以获取用户的地理位置。我想在成功完成用户地理位置后自动提交此表单。我正在使用jquery和jquery mobile,如果有帮助的话。谢谢!

</head> 
<body>
 <div id="location">
 <form action="/location" method="POST" id="location" name="location">
        <input type="text" id="lat" name="lat" />
        <input type="text" id="long" name="long" />
        <input type="submit" value="Set my location" data-theme="b" /></form>

      </div>
      <script>
        navigator.geolocation.getCurrentPosition(
          function(pos) {
            $("#lat").val(pos.coords.latitude);
            $("#long").val(pos.coords.longitude);
            load();
          }
        );
      </script>


</body>

2 个答案:

答案 0 :(得分:2)

更好的解决方案是为两个输入设置事件 onchange

$(document).ready(function() {
    var state1 = false;
    var state2 = false;
    var sbm = function(form) {
        form.submit();
    };
    $('input#lat')
        .change(function() {
            state1 = true;
            if (state1 && state2) 
                sbm($(this).parent());
        });
    $('input#long')
        .change(function() {
            state2 = true;
            if (state1 && state2) 
                sbm($(this).parent());
        });
});

答案 1 :(得分:0)

你可以去setTimeOutfunction()

以下是您可能喜欢的链接: http://www.w3schools.com/js/js_timing.asp

只需使用settimeout函数调用一个函数来检查值,如果你有值,则提交表单。

希望这会有所帮助..