0

这是我在java脚本中的程序当我按下搜索时我没有出现任何东西但是功能button-pressed()非常孤独但是当我使用带有表单的代码从文本中获取句子时它不起作用.但是当我尝试在很多地方打印结果时,我注意到在第一个 for 循环中其他一切都很好,直到现在我不知道原因,请任何帮助有代码:

        <?xml version = "1.0" encoding = "utf-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

    <!-- Fig. 11.5: SearchingStrings.html -->
    <!-- String searching with indexOf and lastIndexOf. -->
    <html xmlns = "http://www.w3.org/1999/xhtml">
       <head>
          <title>
             Searching Strings with indexOf and lastIndexOf
          </title>
          <script type = "text/javascript">
             <!--


             function buttonPressed() 
             {

               // var searchForm = document.getElementById( "searchForm" );
                var inputVal = document.getElementById( "inputVal" ).value;
                var arr = inputVal.split(" ");

                arr.sort();

    for(var i = 0; i< arr.length; ++i) {
        var num = arr[i];
        counts[num] = (counts[num] ? counts[num] : 0) + 1 ;

                    document.writeln(arr[i]+"</br>");
    }

    document.writeln("xxxxxxxxxxxxxxafter forrrrrrrr");
    document.writeln("<table border=\"4\">");
    document.writeln("<caption><h3>Search's Results: <h3/></caption>");
    for (var i in counts) {
        document.writeln("<tr><td>"+i+" :</td><td>"+counts[i]+"</td></tr>");
    }
    document.writeln("</tbody></table>");

             } // end function buttonPressed
             // -->
          </script>
       </head>
       <body>
    <form action = "">
             <h1>The string to search is:<br />
                 </h1>
             <p>Enter Sentence  You want  To Find The Occurrence Of Each Word In It :
             <input id = "inputVal" type = "text"    />
             <input name = "search" type = "button" value = "Search"
                    onclick = "buttonPressed()" /><br /></p>


          </form>
       </body>
    </html>
4

1 回答 1

2

看起来该counts变量在您的脚本中未定义。所以声明它然后尝试。

JsFiddle 演示

于 2013-10-23T21:26:55.850 回答