【问题标题】:javascript validate input with blur can't get autocompletion resultsjavascript使用模糊验证输入无法获得自动完成结果
【发布时间】:2012-03-02 19:55:01
【问题描述】:

http://jsfiddle.net/ca11111/rYAqS/

我的问题是我想验证使用 googlemaps 自动完成然后对其进行地理编码的输入,但模糊事件触发得太早了

查看jsfiddle,输入“Par”,然后选择Paris, france,你得到的不是Paris的地理编码而是Par的地理编码,查看代码

祝你好运

【问题讨论】:

    标签: javascript autocomplete google-maps-api-3 onblur


    【解决方案1】:

    你试过了吗:

    google.maps.event.addListener(autocomplete, 'place_changed', function() {
       //var place = autocomplete.getPlace();
       validateStart();
    });
    

    【讨论】:

    • 是的,谢谢似乎有效,但在一般的自动补全中,你如何验证输入并确保你得到自动补全的单词,而不仅仅是输入的字母?
    • 也不再需要地理编码,因为已经在 autocomplete.getPlace().geometry.location 中完成
    • "blur" 在元素失去焦点时发生。当您退出它或单击自动完成时,就会发生这种情况。如果自动完成更改了输入字段,那将在它模糊后发生。您可能需要捕获 onchange 事件并测试焦点。
    • 试过onchange,效果不好,你能告诉我你会怎么做吗?
    • 不:你是对的,它不起作用。但是您可以延迟测试以允许自动完成功能完成它的工作。 <input type="text" id="start" onblur="setTimeout(validateStart,50);"/> 不过,这可能被归类为黑客攻击。
    猜你喜欢
    • 1970-01-01
    • 2021-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多