2016-07-25 31 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

相关问题