在PHP表单字段中显示API调用的结果-邮编&;郊区


Display Results of API call in a PHP form field - Postcode & Suburb

我见过很多次,但不知道它是如何做到的?当用户在表单字段中输入他们的邮政编码并在字段中制表时,Suburb字段将填充与邮政编码匹配的郊区列表。我知道,如果我把邮政编码和郊区存储在数据库表中,那会很容易。然而,我有一个API,我可以从澳大利亚邮政使用,这是最新和准确的。有人必须开发类似的东西才能分享吗?我尝试过通过PHP和cURL来实现这一点。我成功地得到了API调用的结果,但不知道如何在表单字段中显示。

听起来您需要对处理API工作的脚本进行AJAX调用。结果需要使用JavaScript进行解析,并动态填充到页面上预先指定的区域中。或者,PHP脚本本身可以为所有结果形成精确的HTML,因此在JavaScript级别不需要解析(我个人更喜欢这种方式)。

假设你希望每个城市结果都是可点击的(这样点击时城市名称就会出现在输入框中),你需要在页面上设置一个监听器,检测点击的内容及其代表的城市名称,然后将该城市名称放入表单字段中。

我不知道你已经走了多远,所以如果你已经掌握了AJAX,这里有一个jQuery监听器的例子,它将获取AJAX调用后出现的动态填充元素的内容(城市名称),类名为city_results,然后将名称粘贴到页面上其他地方的输入框中:

<script type="text/javascript">
$(".city_results").click(function() {
    city_name = $(this).html();
    $("input[name=INPUT_BOX_NAME]").val(city_name);
});
</script>

将INPUT_BOX_NAME替换为城市名称输入元素的名称。

每当用户点击这样的div时,这个监听器就会被激活:

<div class="city_results">Melbourne</div>

希望这能让你开始。