Все ответы приветствуются. Если вы не хотите углубляться в сложность кода, вот решение для вас.
Первый шаг :
Загрузите последний почтовый индекс страны. Файл Excel и найдите этот файл Excel в корневой папке. (Вы можете скачать его здесь)
https://data.gov.in/catalog/all-india-pincode-pirectory#web_catalog_tabs_block_10)
Второй шаг:
Вызовите функцию ajax, где находится ваша форма.
<script src=”http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type=”text/javascript”><br>
jQuery(document).ready(function(){
jQuery(‘.postcode‘).blur(function(){ //.postcode class of zipcode text field
var s = jQuery(this).val();
jQuery.ajax({
type: ‘POST’,
url:“http://www.sample.com/postcode.php“, //file which read zip code excel file
dataType: “json”, //is used for return multiple values
data: { ‘s’ : s },
success: function(data){
try {
jQuery(“.state“).val(data.state); //region-class of state text field
jQuery(“.city“).val(data.dist);//city-class of city text filed
} catch (e) {
alert(e.Message);
}
},
error:function (xhr, status, err){
alert( “status=” + xhr.responseText + “, error=” + err );
}
});
});
});
</script>
Эта функция Ajax вызовет «http://www.sample.com/postcode.php” file
В файле postcode.php мы должны прочитать excelфайл и возвращаемое значение штата и города
postcode.php
<?php
extract ($_POST);
$s=$_POST[‘s’]; //get value from ajax
$filename=”zip.csv“; //zipcode csv file(must reside in same folder)
$f = fopen($filename, “r”);
while ($row = fgetcsv($f))
{
if ($row[1] == $s) //1 mean number of column of zipcode
{
$district=$row[3]; //3- Number of city column
$state=$row[4]; //4-Number of state column
break;
}
}
fclose($f);
echo json_encode(
array(“dist” => $district,
“state” => $state,
“zip” => $s)
); //Pass those details by json
?>
Вот и все, наслаждайся