美國的郵遞區號有五個字元。從這五個字元,你就能判斷出城市、州和國家,這三個欄位都能自動填入。只需一個輸入欄位。
但你們並沒有這麼做,對吧?沒有。你讓我先輸入街道地址,再輸入城市,然後在五十個州的下拉選單中滾動尋找伊利諾州,它夾在愛達荷州和印第安納州之間,接著輸入郵遞區號,然後——最精彩的部分——在兩百多個國家中滾動尋找美國,結果有一半時間它被歸在「T」類,因為某個白痴認為「The United States of America」才是正確的排序鍵。
現在是2026年,我們到底在幹嘛。
我輸入90210。你現在知道我在加州比佛利山莊,美國。你不需要我告訴你這些。你不需要下拉選單。你不需要我滾動過土庫曼斯坦。你一直都有答案,就藏在這五個數字裡,但你就是沒用它。
還有額外好處:一旦你知道郵遞區號,你的街道地址自動完成功能只需搜尋幾千個地址,而不是一億六千萬個。速度更快,準確度更高。我打字更少,你得到更乾淨的資料。大家都贏。
這不是新技術。免費API早就有了。只要四行程式碼。看:
就是這樣。這就是全部。你本可以直接用這個,而不是讀這篇文章。
看懂了嗎?你輸入五個數字,三個欄位自動填好了。你現在打街道地址,它已經知道你在哪個城市。這不是魔法,這是查詢表。我們從1960年代就有這種東西了。
第一種情況:郵遞區號放最後。街道、城市、州、郵遞區號、國家。你有資料可以自動填三個欄位,卻偏偏放最後。亞馬遜、Target、沃爾瑪都這樣做。基本上大家都這樣做。數十億小時的人生,就這樣花在滾動找「伊利諾州」上。
第二種情況:完全沒有自動填充。你收集了郵遞區號,卻不做任何事。郵遞區號就這樣躺在資料庫裡,像個寫著「勿破壞」的玻璃櫃裡的滅火器。你到底要留著它幹嘛?
第三種情況:可滾動的國家下拉選單。兩百四十個國家。沒有搜尋功能,沒有輸入提示。純粹無過濾的字母排序滾動。額外加分是美國被放在「T」類。再加分是根本不按字母排序。你們真是瘋了。
第四種情況:按返回鍵表單會重置。我填了十四個欄位,你的付款系統失敗了。我按返回,所有資料都沒了。街道、城市、州,還有我的求生意志,全都消失了。負責的開發者晚上睡八小時。這讓我無法釋懷。
啟用正確的鍵盤。如果你要輸入郵遞區號,請使用 inputmode="numeric"。這只是一個HTML屬性。在手機上,我應該看到數字鍵盤,而不是完整的QWERTY鍵盤。這也適用於電話號碼、信用卡號和其他明顯只需數字的欄位。你已經知道輸入類型了,告訴手機吧。
配合自動填充,而不是對抗它。瀏覽器的自動填充功能已經有十多年了。使用正確的autocomplete屬性——postal-code、address-line1、country。如果你的表單跟瀏覽器的自動填充功能對抗,那你的表單就是錯的。瀏覽器是在幫用戶省下45秒,讓它做吧。
好吧,也許先選國家。評論區的純粹主義者技術上是對的——郵遞區號不是全球唯一的。你可以先選國家(透過IP預填),再輸入郵遞區號,然後讓魔法發生。重點從來不是「跳過國家欄位」,重點是:別讓我打你已經知道的東西。
找到哪個網站把郵遞區號放最後?國家下拉選單亂排?讓你哭的表單?
🚧 公開羞恥牆即將上線。🚧
把郵遞區號放第一。自動填入城市、州和國家。讓用戶最後輸入街道地址,且自動完成功能限定在該郵遞區號範圍內。
這是已解決的問題。API免費,程式碼只有五行。除了成千上萬產品經理從2009年複製貼上同一個地址表單範本,卻從未問過「為什麼郵遞區號放最後?」之外,真的沒有理由不這麼做。
在你又要填地址表單前,分享這篇文章吧。