如何让这段代码显示在屏幕上?我做了一个程序,注意到一个字母不在序列中,即abce它会显示d。我的核心功能正常运行,但我无法显示它。这是我到目前为止所得到的。感谢。
HTML
<form id="Awesome">
<label>Input Text Here: </label><input type="text" id="txtBox">
<br><br>
<label>Missing Letter: </label><input type="text" id="Results">
<br><br>
<input type="button" value="Calculate" id="Execute" onclick="displayMissingLetter()">
</form>
Javascript
function displayMissingLetter(str) {
var numbers = str.split('').map(function(letter) {
return letter.charCodeAt();
});
for (var i = 0; i < numbers.length; i++){
if (numbers[i+1] - numbers[i] > 1){
return String.fromCharCode(numbers[i] + 1);
}
}
return undefined;
}
答案 0 :(得分:1)
function displayMissingLetter() {
var str = document.getElementById('txtBox').value;
var letters = [];
var numbers = str.split('').map(function(letter) {
return letter.charCodeAt();
});
for (var i = 0; i < numbers.length; i++){
if (numbers[i+1] - numbers[i] > 1){
letters.push(String.fromCharCode(numbers[i] + 1));
}
}
document.getElementById('Results').value = letters.join('');
return undefined;
}
答案 1 :(得分:0)
第一个问题是您没有将任何参数传递给displayMissingLetter
函数(onclick="displayMissingLetter()"
)。它期望一个字符串作为第一个参数,这意味着你应该使用类似onclick="displayMissingLetter(txtBox.value)"
第二个问题是你没有对这个函数的返回值做任何事情,似乎你想把结果值设置为Results
输入的值。如果是这种情况,您可以执行以下操作:onclick="Results.value = displayMissingLetter(txtBox.value)"
另一种方法是使用类似下面的例子。
function getMissingLetter(str) {
var numbers = str.split('').map(function(letter) {
return letter.charCodeAt();
});
for (var i = 0; i < numbers.length; i++){
if (numbers[i+1] - numbers[i] > 1){
return String.fromCharCode(numbers[i] + 1);
}
}
return undefined;
}
Execute.onclick = function(){
var userInput = txtBox.value;
var missingLetter = getMissingLetter(userInput);
if(missingLetter){
Results.value = missingLetter;
}
}
<form id="Awesome">
<label>Input Text Here: </label><input type="text" id="txtBox">
<br><br>
<label>Missing Letter: </label><input type="text" id="Results">
<br><br>
<input type="button" value="Calculate" id="Execute">
</form>