从用户输入中转换多个代码,并将转换后的字符显示为字符串



这是我之前问题的延续。 我成功地制作了一个脚本,该脚本将用户输入中的一个代码转换为Unicode代码点,然后将其转换为特殊象形文字字体中的相应字符。这是我的代码:

<body>
<input id="userInput" name="userInput" type="text">
<button id="convert">Click me!</button>
<div id="hieroglyphs">
<p id="AbydosWord"></p>
</div>
<script>
$(document).ready(function() {
$("#convert").click(function(){
var GardinerToUnicodeCodePoint = {
"A1"    :"995328",
"A1A"   :"995329",
"A1B"   :"995330",
"A1C"   :"995331",
"A2"    :"995332",
"A2A"   :"995333",
};
var userInput = $("#userInput").val();
if (userInput in GardinerToUnicodeCodePoint) {
var convertedCode = String.fromCodePoint(GardinerToUnicodeCodePoint[userInput]);
$("#AbydosWord").empty();
$("#AbydosWord").append(convertedCode);
} else {
$("#AbydosWord").empty();
$("#AbydosWord").append("?");
}
});
});
</script>
</body>

现在我想创建一个函数,它将使用多个代码形式的用户输入(例如 A1 A2A A1C(并将其转换为象形文字字符串。这就是我到目前为止所达到的地方,但现在,它不起作用。

<body>
<input id="userInput" name="userInput" type="text">
<button id="convert">Click me!</button>
<div id="hieroglyphs">
<p id="AbydosWord"></p>
</div>
<script>
$(document).ready(function() {
$("#convert").click(function(){
var GardinerToUnicodeCodePoint = {
"A1"    :"995328",
"A1A"   :"995329",
"A1B"   :"995330",
"A1C"   :"995331",
"A2"    :"995332",
"A2A"   :"995333",
};
var finalCodeHolder = "";
var userInput = $("#userInput").val();
var userInputSplit = userInput.split(" ");
for (i = 0; i < userInputSplit.length; index++) {
if (userInputSplit[i] in GardinerToUnicodeCodePoint) {
var convertedCode = String.fromCodePoint(GardinerToUnicodeCodePoint[userInputSplit[i]]);
finalCodeHolder.push(convertedCode);
} else {
var convertedCode = "?";
finalCodeHolder.push(convertedCode);
}
}
$("#AbydosWord").append(finalCodeHolder);
});
});
</script>
</body>

我想这就是数组和.push()方法convertedCode问题。我希望您对此问题提供意见。

经过多次尝试,我终于做到了。

这是解决方案:

<script>
$(document).ready(function() {
$("#convert").click(function(){
var GardinerToUnicodeCodePoint = {
"A1"    :"995328",
"A1A"   :"995329",
"A1B"   :"995330",
"A1C"   :"995331",
"A2"    :"995332",
"A2A"   :"995333",
"A3"    :"995334",
"A3A"   :"995335",
"A3B"   :"995336",
};
var finalCodeHolder = "";
var userInput = $("#userInput").val();
var userInputSplit = userInput.split(" ");
$("#AbydosWord").empty();
for (i = 0; i < userInputSplit.length; i++) {
if (userInputSplit[i] in GardinerToUnicodeCodePoint) {
var convertedCode = String.fromCodePoint(GardinerToUnicodeCodePoint[userInputSplit[i]]);
$("#AbydosWord").append(convertedCode);
} else {
var convertedCode = "?";
$("#AbydosWord").append(convertedCode);
}
}
});
});
</script>

现在我将尝试找到一种方法来使其实时运行 - 我试图避免单击按钮进行转换,它应该像常规键入文本一样。

相关内容

  • 没有找到相关文章

最新更新