[英]Having trouble displaying code
我如何才能将这段代码显示在屏幕上? 我正在制作一个程序,该程序会在字母顺序错误时通知您,即字母ab会显示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>
Java脚本
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;
}
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;
}
第一个问题是您没有将任何参数传递给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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.