Javascript 如何使用jquery检查是否填写了两个输入字段并等待2秒钟

Javascript 如何使用jquery检查是否填写了两个输入字段并等待2秒钟,javascript,jquery,Javascript,Jquery,我使用的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"

我使用的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>
这会在控制台中显示每个字段内的每个按键的日志。最后,我想用ajax发布一个PHP脚本,该脚本可以进行api调用,我每天收到的调用数量有限,所以这非常糟糕

我只想在两个字段都填写好后提出一个请求,最好的做法是什么

我在想,在两个字段都填写完后,可能需要等待1到2秒钟,然后发布到脚本中

我该怎么做?(只有时间部分,我可以自己修复ajax发布)

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

这里有一种方法:

  • 将超时功能设置为2000ms,并在其中检查两个输入是否都有值。 1.1. 如果他们有值,请发布表单。 1.2. 如果没有,请再次设置超时功能
  • 在输入事件中,清除超时并将其再次设置为2000ms-这将重置超时计数器
  • 所有这些都将保证您在每次输入后至少等待两秒钟,并将继续等待,直到您的两个输入中都有内容。

    以下是一种方法:

  • 将超时功能设置为2000ms,并在其中检查两个输入是否都有值。 1.1. 如果他们有值,请发布表单。 1.2. 如果没有,请再次设置超时功能
  • 在输入事件中,清除超时并将其再次设置为2000ms-这将重置超时计数器

  • 所有这些都将保证您在每次输入后至少等待两秒钟,并将继续等待,直到您的两个输入中都有内容。

    您不需要等待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
            }
        })
    })
    

    您不需要等待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
            }
        })
    })
    

    .val()
    将返回
    输入的字符串值,而不是整数。@APAD1有道理,但仍然有效。在另一个SO post中找到该代码。@APAD1如果我更改代码以检查其是否为空字符串,则每次按键时仍会显示控制台日志一次。
    .val()
    将返回字符串,但
    >0
    将推断为整数。与
    ==0
    vs
    ==0
    类似。val()
    将返回
    输入的字符串值,而不是整数。@APAD1有意义,但仍然有效。在另一个SO post中找到该代码。@APAD1如果我更改代码以检查其是否为空字符串,则每次按键时仍会显示控制台日志一次。
    .val()
    将返回字符串,但
    >0
    将推断为整数。类似于
    ==0
    vs
    ==0
    谢谢,我这样做了。添加一个按钮要容易得多!if(inputOne==“”&&inputwo==“”)-如果其中一个输入仍然为空,将转到else部分。应该是(inputOne==“”| | inputwo==“”)谢谢你,我用这种方式修复了它。添加一个按钮要容易得多!if(inputOne==“”&&inputwo==“”)-如果其中一个输入仍然为空,将转到else部分。它应该是if(inputOne==“”| | inputwo==“”)