【发布时间】:2015-07-01 12:38:18
【问题描述】:
我正在尝试创建一个自动填充功能。我正在使用一个选择列表,并根据选择的选项,一些文本框将值放入其中。唯一的问题是我无法使用我正在使用的函数将扩展的 ASCII 字符放入文本框中。
JS:
function fillContact() {
var contact = document.getElementById('contact'),
namebox = document.getElementById('namebox');
if (contact.value === 'Bjorn') {
namebox.value = 'Bj' + String.fromCharCode(148) + 'rn';
}
else if (contact.value === 'Tommy') {
namebox.value = 'Tommy';
}
}
HTML:
<select id='contact' onchange='fillContact();'>
<option selected>-Choose contact-</option>
<option value='Bjorn'>Bjorn</option>
<option value='Tommy'>Tommy</option>
</select>
Name: <input type='textbox' id='namebox'>
String.fromCharCode() 不包含我想放入文本框中的 ASCII 字符 148 (ö)。任何其他可以使其工作的字符串函数?像 String.getExtendedCharCode(148) 或类似的东西?
请注意,最多 128 个其他字符有效,而联系人“汤米”有效。
【问题讨论】:
-
最好的选择是使用 UTF-8 而不是扩展的 ASCII
-
JavaScript 使用 Unicode/UTF-16。您的问题似乎是基于对 ASCII 的含义和“扩展 ASCII”的含义的误解。无论如何,它们不相关。