我对表单上的一些文本框使用 Google Closure 的 AutoCompleteBasic。当用户在输入一两个键后填写文本框,然后使用箭头键选择自动完成的建议之一时,文本框的值似乎就是用户输入的任何键,尽管表单呈现完整文本框中自动完成单词的文本。我使用 document.getElementById(id_of_textbox).value 来获取值
- 这是自动完成和文本框交互的预期行为吗?
- 我怎样才能得到完整的字符串而不是前几个击键?还是有其他方法可以读取该值?
我对表单上的一些文本框使用 Google Closure 的 AutoCompleteBasic。当用户在输入一两个键后填写文本框,然后使用箭头键选择自动完成的建议之一时,文本框的值似乎就是用户输入的任何键,尽管表单呈现完整文本框中自动完成单词的文本。我使用 document.getElementById(id_of_textbox).value 来获取值
我还没有研究过使用 AutoCompleteBasic,但这里有一些代码可能会有所帮助:
example.setupSearchListener = function(){
var searchbox = goog.dom.getElement('your-textbox');
var delay = new goog.async.Delay(function(){example.handleSearch();}, 500);
goog.events.listen(searchbox, goog.events.EventType.KEYUP, function(){
delay.start();
});
};
这将等到用户停止输入,然后调用example.handleSearch()
以执行任何操作。