[英]find the longest word using javascript / html form
我试图运行代码,但是页面上没有任何显示。 我不确定错误在哪里。 我尝试键入javaScript代码以在html表单/输入中找到最长的单词,然后在html正文上显示输出。
function fnLongestWord(string){ var words = str.split(" "); console.log(words); var findlongest=document.forms["Longestword"], var longest = ""; for(let i=0; i < findlongest.length; i++){ console.log(findlongest[i]); } if ( longest.length > findlongest.length) findlongest = longest; } console.log(longest); document.getElementById("showResult1") = "Number of vowels: "+ longest;
<div id="LongWord" class="Tab"> <form id="Longestword"> <label>Enter text: <input name="text "></label> <button type="button" onclick="fnLongestWord()"> Find longest word</button> </form> <!--here the output show--> <p id="showResult1"></p> </div>
错误;在这里您正在调用fnLongestWord
,但未传递任何参数,而fnLongestWord
需要一个值
var words = str.split(" ");
str
在函数内部没有定义的地方
您需要把这一行document.getElementById("showResult1") = "Number of vowels: "+ longest;
在函数内部,这是无效的提示。 您需要使用innerHTML
并为其分配值
function fnLongestWord(string) { var str = document.getElementById('input').value || string var words = str.split(" "); var longest = words.sort((a, b) => { return b.length - a.length; }) document.getElementById("showResult1").innerHTML = "Number of vowels: " + longest[0]; }
<div id="LongWord" class="Tab"> <form id="Longestword"> <label>Enter text: <input id = 'input' name="text "></label> <button type="button" onclick="fnLongestWord()"> Find longest word</button> </form> <!--here the output show--> <p id="showResult1"></p> </div>
您的代码中有一些错误需要修复。
首先,您在单击按钮时调用fnLongestWord()
,因此您没有从表单中传递字符串。 您需要使用以下方法从表单中获取字符串:
var str = document.getElementById('longestWord').value;
这将获取id
longestWord
的元素的value
(文本)。 这将从文本框中获取文本(因为我给了它id="longestWord"
)
现在,您要遍历words
数组。 您可以在for循环中使用words.length
来执行此操作。
接下来,您要修复if
语句。 当前,您的语法和逻辑不正确。 相反,您需要使其成为if(longest.length < words[i].length) longest = words[i];
读取结果是,如果当前找到的最长单词小于当前单词,则将新的最长单词设置为等于当前单词( word[i]
)。
最后,您没有将答案正确添加到页面中。 相反,您应该执行以下操作:
document.getElementById("showResult1").textContent += "Longest word is: " + longest;
在showResult1
段落中设置最长的单词。
请参见下面的工作示例:
function fnLongestWord() { var str = document.getElementById('longestWord').value; var words = str.split(" "); var longest = ""; for (let i = 0; i < words.length; i++) { if (longest.length < words[i].length) longest = words[i]; } document.getElementById("showResult1").textContent += "Longest word is: " + longest; }
<div id="LongWord" class="Tab"> <form id="Longestword"> <label>Enter text: <input id="longestWord" name="text "></label> <button type="button" onclick="fnLongestWord()"> Find longest word</button> </form> <!--here the output show--> <p id="showResult1"></p> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.