-1

テキストエリアフィールドを持つフォームがあります。私は、150 語までに許可される語数を定義するのが好きです。

javascriptでこれを達成するにはどうすればよいですか?

<form name="main" action="" method="post">
    <label>
    <span class="legend">Details: </span>(Enter a maximum of 150 words)
    <textarea name="description">

     </textarea>
    </label>
    </fieldset>
   <input type="submit" class="search" value="Submit">
 </form>

間違っていると思われる次のコードがあります。

<script type="text/javascript">
        function validate() {
             if (document.forms['main'].detail.value.length > 150)
              {
               document.forms['main'].detail.focus();
              alert("Detail text should be a maximum of 150 characters");
               return false;
            }     
             if (document.forms['main'].faultType[1].checked==true && (document.forms['main'].detail.value).length == 0)
            {
              document.forms['main'].detail.focus();
              alert("Enter some text that describes the fault");
              return false;
            }
             return true;
        }
    </script>
4

1 に答える 1

0

でテキストを分割し" "、そのように単語を数えます。

function validate() {
    var main = document.forms['main'];
    if (main.detail.value.split(' ').length > 150){
        main.detail.focus();
        alert("Detail text should be a maximum of 150 words");
        return false;
    }     
    if (main.faultType[1].checked==true && main.detail.value.length == 0) {
        main.detail.focus();
        alert("Enter some text that describes the fault");
        return false;
    }
    return true;
}

例えば:

"Detail text should be a maximum of 150 words".split(' ');

Array次のようなa を返します。

["Detail", "text", "should", "be", "a", "maximum", "of", "150", "words"];

長さは です9。これは、文字列内の単語の量です。

于 2013-01-11T14:31:33.897 に答える