jQuery自动完成表单,工作时间减半

jQuery自动完成表单,工作时间减半,jquery,geocoding,Jquery,Geocoding,我有一个表单,有一些输入,包括一个邮政编码字段。当用户输入他们的邮政编码时,我使用邮政编码API来查找他们的城市和州,并将这些值放在一个隐藏字段中 当我在控制台中进行测试时,它工作得很好,但是城市和州的值在我们的后端只经历了一半的时间 代码如下: $(function(){ var postalField = $('#field7'); var alphaExp = /^[a-zA-Z]+$/; //check for alphabet characters //functi

我有一个表单,有一些输入,包括一个邮政编码字段。当用户输入他们的邮政编码时,我使用邮政编码API来查找他们的城市和州,并将这些值放在一个隐藏字段中

当我在控制台中进行测试时,它工作得很好,但是城市和州的值在我们的后端只经历了一半的时间

代码如下:

  $(function(){

  var postalField = $('#field7');
  var alphaExp = /^[a-zA-Z]+$/; //check for alphabet characters

  //function to call zippopotamus API
  function zippopotamus(theZip){
  var country = "";
  var client = new XMLHttpRequest();
    if (!theZip[0].match(alphaExp)){ //if the zip starts with a number
      //use United States api
      client.open("GET", "http://api.zippopotam.us/us/"+theZip, true);
      country = "US";
    } else { //else if it starts with a letter
      //use Canada api
      client.open("GET", "http://api.zippopotam.us/CA/"+theZip.substring(0,3), true);
      country = "CA";
    }

  client.onreadystatechange = function() {
    if(client.readyState == 4) {
      var responseJSON = $.parseJSON(client.responseText);
      console.log(responseJSON);
      var city = responseJSON['places'][0]['place name'];
      $('#field8').val(city);
      var state = responseJSON['places'][0]['state abbreviation'];
      $('#field9').val(state);
      $('#field10').val(country);
      $('#field15').val(client.statusText);
    };
  };

  client.send();
  }

  postalField.on('blur submit',function(){
    var postalInput = postalField.val();

    if (postalInput !=0) { //if the postal code is not blank run the ajax
      zippopotamus(postalInput);
    }//end if statement
 } );

你能为此创建一个JS提琴吗?但是控制台总是记录正确的响应?FelipeKM给你:John Smith,是的,没错。发布你的HTML。这些字段是什么field8 type?Nouphal.M field8 type=隐藏