2016-07-25 52 views
0

我正在實施地址自動填充功能onkeyup()事件的asp.net文本框。如何通過JavaScript事件添加和刪除部分javascript代碼

我希望只有在用戶輸入最少7個字符後才能啓動自動完成功能。

它第一次正常工作。但是,一旦用戶清除了輸入框,即使輸入單個字符,自動完成功能也可以工作。

這是因爲實現它的JavaScript代碼已經存在。在頁面重新加載後,它會再次按需要工作。

反正有沒有一個頁面重新加載工作。

以下是我的代碼:基於您的代碼

<asp:textbox id="txtAddressInput" runat="server" autocomplete="false" onkeyup="input_onchange(this)"></asp:textbox> 
<script> 
     function input_onchange(me) { 
       if (me.value.length > 7) { 
       autocomplete = new google.maps.places.Autocomplete(
       (document.getElementById('txtAddress')), 
       { types: ['geocode'] }); 
     } 
      google.maps.event.addDomListener(document.getElementById('txtAddress'), 'keydown', function (e) { 
       if (e.keyCode == 13 && $('.pac-container:visible').length) { 
        e.preventDefault(); 
       } 
     }); 
    } 
<script> 
+0

你可能需要做一些像http://stackoverflow.com/ a/22862011/14104 – epascarello

+0

謝謝。這有幫助! – Massey

回答

0

它看起來像你只需要一個else聲明清除自動完成對象。像

else if (me.value.length < 7 && autocomplete != null) { 
    autocomplete = null; 
} 

也未嘗您的if語句將需要至少8個字符,而不是7(你使用>代替>=

+0

試過其他的,但沒有奏效。謝謝 – Massey

相關問題