当我点击按钮时,我无法让我的JS返回最长的单词。我不确定我的JS代码中缺少什么或者输入错误,但是当我输入三个单词时,没有任何内容返回给我。我已经粘贴了我的JS和HTML代码。
HTML:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Longest Word</title>
<link rel="stylesheet" href="../css/easy.css">
<script src="p3-longest.js"></script>
</head>
<body>
<header>
<h1>Longest Word</h1>
</header>
<body>
<form action="demo_form.asp" id="demo_form">
Phrase:
<input type="text" id="input1" name="LongestWord" placeholder="Put Phrase Here">
<br>
<input type="button" id="btn1" value="Longest Word">
</form>
</body>
</html>
JS:
function longestWord(string) {
var str = string.split(" ");
var longest = 0;
var word = null;
for (var i = 0; i < str.length ; i++) {
if (longest < str[i].length) {
longest = str[i].length;
word = str[i];
}
}
return word;
}
function init() {
alert('count words');
var countTag = document.getElementById('btn1');
countTag.onclick = longestWord(string);
}
window.onload = init;
答案 0 :(得分:0)
将此添加到您的按钮:
onClick="alert(longestWord(document.getElementById('input1').value))"
它将获取input1的值并将其发送到您的longestWord函数。然后设置一个警报框,其中包含函数的返回值。
答案 1 :(得分:0)
试试这个:
Phrase:
<input type="text" id="input1" name="LongestWord" placeholder="Put Phrase Here">
<br>
<input type="button" id="btn1" value="get Longest Word">
<br/>
Longest Word: <span id='sp1'></span>
<script>
var btn = document.getElementById("btn1");
var in1 = document.getElementById("input1");
var sp1 = document.getElementById("sp1");
btn.onclick = function(){
var vals = in1.value.split(' ');
var val = vals[0];
vals.forEach(function(v){ if(v.length>val.length) val = v;});
sp1.textContent = val;
}
</script>
答案 2 :(得分:0)
我没有看到你的代码有什么特别的错误...除了“我在这里看不到任何代码会给你任何回复的事实!”: - )< /强>
据推测,“onload
”,init()
函数尽职尽责地运行......并将countTag.onclick
设置为在给定 undefined时可能返回的任何整数值longestWord()
非声明的非变量length
的值。 (对onclick
来说没什么好用的,它需要一个函数,而不是一个整数......)
其中没有一个,即使做了工作(它没有...),也曾要求数字电脑以任何方式“给你任何回报! “