我坚持实现以下内容:
- 用户开始在文本框中输入内容。
- 页面上的 JavaScript 捕获输入的第一个字符,验证它是否为英文字母(a-z、A-Z)并将其转换为小写(如有必要)。
- 根据输入发出 XMLHttp 请求(即,如果第一个输入字符是 a,则获取 a.xml,如果 b 则获取 b.xml,依此类推)。
我知道如何执行最后一部分(发出 xmlhttp 请求),但我有点坚持如何捕获第一个字符并验证它(以适用于所有浏览器的方式)。请指导。谢谢。
说明:这是为了创建类似自动完成下拉菜单的 Google Suggest,而不需要服务器端程序。
最佳答案
这样的事情应该有效:
HTML:
<input type="text" id="myField" />
在 JS 中:
window.onload = function() {
document.getElementById('myField').onkeyup = function() {
// Validate that the first letter is A-Za-z and capture it
var letter = this.value.match(/^([A-Za-z])/);
// If a letter was found
if(letter !== null) {
// Change it to lowercase and update the value
letter = letter[0].toLowerCase();
this.value = letter + this.value.substring(1);
// Do the request
}
}
}
我的 vanilla-JS 技能有点生疏,但这应该可以解决问题。只是为了见鬼,这里使用 jQuery 是一样的:
$(function() {
$('#myField').keyup(function() {
var letter = $(this).val().match(/^([A-Za-z])/);
// If a letter was found
if(letter !== null) {
// Change it to lowercase and update the value
letter = letter[0].toLowerCase();
$(this).val(letter + $(this).val().substring(1);
// Do the request
}
});
});
关于javascript - 查找文本框中输入的第一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2268245/