0

在我的註冊表單中,我有一個字段,要求用戶鍵入他/她的地址和城市(自動完成)。有沒有一種方法來驗證用戶是否使用google autocomplete輸入街道地址?

問題是,它也可以爲用戶只需鍵入他/她的城市不街道並提交表單。

有沒有人有解決方案?

<script> 
    var input = document.getElementById('adres'); 
    var autocomplete = new google.maps.places.Autocomplete(input,{componentRestrictions: {country:'be'}}); 
    google.maps.event.addListener(autocomplete, 'place_changed', function(){ 
    var place = autocomplete.getPlace(); 
    }) 
</script> 
+0

是否使用的是自動完成?分享一些代碼... – Dekel

+0

@Dekel我添加了一些代碼。這些信息對你來說足夠嗎? – crievino

回答

1

您可以使用autocomplete.setTypes(['address']);僅允許自動填充中的地址。

A 城市不是一個地址(這是一個區域),所以自動完成將不會允許它。

var input = document.getElementById('adres'); 
var autocomplete = new google.maps.places.Autocomplete(input,{componentRestrictions: {country:'be'}}); 
autocomplete.setTypes(['address']); 
google.maps.event.addListener(autocomplete, 'place_changed', function(){ 
    var place = autocomplete.getPlace(); 
}) 
+0

Mhh,這不起作用。結果,它仍然返回沒有街道的城市。任何用戶都可以選擇城市並登錄,但這是解決這個問題的好辦法。 Thx – crievino

+0

如果你嘗試'setTypes(['(regions)'])'會發生什麼?你能寫街道名嗎? (基本上你不應該,所以如果你這樣做 - 那裏有一些問題......) – Dekel

+0

我看到你從最後一行到第3行代替了'autocomplete.setTypes(['address']);'現在它作品!謝謝你,天才!非常感謝。 – crievino

0

我很好奇,你要求人輸入完整的地址或你在各個領域分開?像街道,另一個爲州,城市等,還是隻是一個領域?

如果你問地址,並不斷有人打字只是市爲例,將其劃分在兩個輸入,一個是地址名稱,另一個用於數字,你可以要求郵政編碼。重要的部分是讓他們知道他們需要正確地添加他們的地址。

你也可以做驗證,在田野裏,你可以把「地址必須有一個‘#’」,以確保有一個門牌號碼(IDK,那最後一個就是一個例子)

+0

只有一個領域。事實上,使它成爲兩個領域將解決問題,但我想知道是否有一個更容易解決這個問題。 Thx – crievino

相關問題