0

ユーザーがテキストエリアに10語以上入力すると送信ボタンが有効になるようにしようとしています。以下は私のコードの抜粋です。そこに10以上の単語があっても提出させてくれません。どんな助けでも大歓迎です。

            <?php
                    if($auth = 1)
                    {
                        echo "<center><h1>Write Article</h1><br /></center>";
                        echo "<form method=\"post\" action=\"processarticle.php\" id=\"myform\" >";
                        echo "<b>Keywords:</b> " . $array['keywords'];
                        echo "<br />";
                        echo "<b>Purpose:</b> " . $array['purpose'];
                        echo "<br />";
                        echo "<b>Style:</b> " . $array['style'];
                        echo "<br />";
                        echo "<b>Instructions:</b> " . $array['instructions'];
                        echo "<br />";
                        echo "<b>Length:</b> " . $array['length'];
                        echo "<br />";
                        echo "<hr>";
                        echo "<textarea rows=35 cols=85 name=\"content\">";
                        echo "</textarea>";
                        echo "<br />";
                        echo "<input type=\"hidden\" name=\"refferer\" value=\"1\" />";
                        echo "<input type=\"hidden\" name=\"articleid\" value=\"" . $arid . "\" />";
                        echo "<input type=\"hidden\" name=\"articletitle\" value=\"" . $articletitle . "\" />";
                        echo "<input type=\"submit\" value=\"Submit Article\" id=\"submit\" name=\"submit\" />";
                        echo "</form>";
                    }

                ?>
                <br /><br /><br />
                <!-- /main -->
                </div>


            <!-- content -->
            </div>

        <!-- /content-out -->
        </div>

        <!-- footer -->
        <?php include($_SERVER['DOCUMENT_ROOT'] . '/includes/footer.php'); ?>
        </body>
            <script type="text/javascript">
                $('#myform').submit(function(event) {
                    var text = $("#content").val();
                    text = text.split(" ");
                    // check for at least 10 words
                    if(text.length < 10){
                        // prevent submit
                        event.preventDefault();
                        return false;
                    }
                });
            </script>
4

4 に答える 4

1

使用しましたが、テキスト領域に#content何も定義していません。idID を定義してアクセスします。idこのような属性を追加し、

echo "<textarea rows=35 cols=85 name=\"content\" id=\"content\">";
于 2013-03-18T04:45:59.087 に答える
1

#contentコンテンツを Id として定義していませんでした.. テキスト領域の ID として宣言します..

"<textarea rows=35 cols=85 name=\"content\" id=\"content\">";

//単語数を見つける..

String input = $('content').val();
String[] elements = input.split(" ");

if(elements.length>10){
//your code
}
于 2013-03-18T04:47:54.063 に答える
0
var text = encodeURIComponent($("#content").val());
于 2013-03-18T05:07:50.970 に答える
0

これはフォームのリスナーであり、テキストエリアには名前があるため、テキストエリアの値は次のように読み取ることができます。

    var text = this.content.value;

.

    text = text.split(" ");

    // check for at least 10 words
    if(text.length < 10){

これは実際には 10 個のスペースがあるかどうかのみをチェックします。単語のように見えるものをチェックしたい場合は、単語文字の文字列を探します。

    var words = text.match(/\b\w+\b/g);

次に、単語文字の文字列で分割されます。

    if (words && words.length < 10) { 
        ...
于 2013-03-18T04:54:40.007 に答える