我需要使用JS找到句子中最长的单词

时间:2015-06-11 02:16:31

标签: javascript html count return

当我点击按钮时,我无法让我的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;

3 个答案:

答案 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>

Fiddle Demo

答案 2 :(得分:0)

我没有看到你的代码有什么特别的错误...除了“我在这里看不到任何代码会给你任何回复的事实!”: - )< /强>

据推测,“onload”,init()函数尽职尽责地运行......并将countTag.onclick设置为在给定 undefined时可能返回的任何整数值longestWord() 非声明的非变量length的值。 (对onclick来说没什么好用的,它需要一个函数,而不是一个整数......)

其中没有一个,即使做了工作(它没有...),也曾要求数字电脑以任何方式“给你任何回报! “