0

CI/jQueryで動作する最小文字カウンターを取得するのに苦労しています。ユーザーが入力した文字数が少なすぎる場合に、フォームの送信を防ぎ、アラートを表示できるようにしたいと思います。フォームは、コードを使用して通常どおり送信します。

function checktextarea(minLength) {

  var textarea = jQuery('#field').value.length;
     if(textarea < minLength) {
        e.preventDefault();
        alert('You need to enter at least ' + minLength ' + characters');
        return false;
     }
};

そしてCIで私は持っています:

<?php $attributes = array ('onsubmit' => 'checktextarea(15)'); ?>
<?php echo form_open('controller/function', $attributes); ?>

// I know this is standard HTML
  <textarea name="content" class="textarea_css" rows="10" cols="73" id="field"></textarea>

<?php echo form_submit('send', 'Submit Your Textarea'); ?>
<?php echo form_close(); ?>

助けてくれてありがとう!

4

2 に答える 2

2

e関数のスコープにないvarへの参照があります。イベントをキャンセルしようとしていると思いますが、親関数でキャンセルする必要があります。

この行e.preventDefault();により、コンパイルエラーが発生します。

次に、テキスト領域の値に正しくアクセスしていません。試してくださいjQuery('#field').val().length;

最後に、行のalert('You need to enter at least ' + minLength ' + characters');形式が正しくありません。alert('You need to enter at least ' + minLength + ' characters');

楽しさと証拠のために、フィドルを追加しました:http: //jsfiddle.net/TSbK8/7/

于 2013-03-11T22:25:13.250 に答える
0

あなたはjQueryステートメントで長さを取得するのは正しくありません。var textarea = jQuery('#field').value.length;試してみる代わりにvar textarea = jQuery('#field').val().length;

于 2013-03-11T21:42:25.500 に答える