当用户输入邮政编码和门牌号时,我使用的API会获得正确的街道名称和位置。

目前我有以下布局:

<p class="form-row form-row form-row-wide address-field validate-required" id="billing_postcode_field" data-o_class="form-row form-row form-row-last address-field validate-required validate-postcode">
   <label for="billing_postcode" class="">Postcode<abbr class="required" title="required">*</abbr></label><input type="text" class="input-text " name="billing_postcode" id="billing_postcode" value="">
</p>
<p class="form-row form-row form-row-wide address-field validate-required" id="billing_housenumber_field" data-o_class="form-row form-row form-row-last address-field validate-required validate-postcode">
   <label for="billing_housenumber" class="">Huisnummer<abbr class="required" title="required">*</abbr></label><input type="text" class="input-text " name="billing_housenumber" id="billing_housenumber" value="">
</p>
<p class="form-row form-row form-row-wide address-field validate-required" id="billing_address_1_field">
   <label for="billing_address_1" class="">Adres<abbr class="required" title="required">*</abbr></label><input type="text" class="input-text " name="billing_address_1" id="billing_address" value="">
</p>
<p class="form-row form-row form-row-wide address-field validate-required" id="billing_city_field" data-o_class="form-row form-row form-row-wide address-field validate-required">
   <label for="billing_city" class="">Plaats<abbr class="required" title="required">*</abbr></label><input type="text" class="input-text " name="billing_city" id="billing_city" placeholder="" value="">
</p>


在ID为checkoutform的表单内。

我已经尝试了以下方法:

tpj('#checkoutform').on('input', function() {
  var val1 = tpj('#billing_postcode').val();
  var val2 = tpj('#billing_housenumber').val();
  if (val1 > 0 && val2 > 0) {
    console.log('both filled in');
  } else {
    console.log('both not filled in');
  }
});


这将在两个字段中的每个按键上显示控制台中的日志。最后,我想用ajax发布到进行api调用的PHP脚本,每天我得到的调用数量有限,所以这非常糟糕。

当我同时填写两个字段时,我只想发出1个请求,最好的做法是什么?

我当时想在两个字段都填写后等待1或2秒钟,然后发布到脚本中。

我怎样才能做到这一点? (仅在时间方面,我可以自己修复ajax)。

如果有人对我的想法有更好的建议,请这样说。

最佳答案

您无需等待2秒钟,只需在用户填写表格时进行该活动即可。

$(function()
{
    $("#btn").on("click",function()
    {
        let inputOne = $("#inputOne").val();
        let inputTwo = $("#inputTwo").val();
        if (inputOne == "" || inputTwo == "")
        {
            alert("fill inputs");
        }
        else
        {
            // Ajax call goes here
        }
    })
})

关于javascript - 如何使用jQuery检查两个输入字段是否填写并等待2秒,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49366530/

10-11 12:11