0

オプション パネルがあり、このオプション パネルには ID 'mytheme_about_me' のテキスト領域があります。

このテキストエリアの文字数を制限したいと思います。多くの jQuery ソリューションを見つけましたが、テキスト領域が index.php と同じ php ページにないため、jQuery を使用できません。それで、phpを使用してこれを行うにはどうすればよいのでしょうか。

4

3 に答える 3

1

それでも、「プレーンな」javascriptでそれを行うことができます

<script type="text/javascript">
function limit(max) {
    var textarea = document.getElementById('textarea');
    if (textarea.value.length > max) {
        textarea.value = textarea.value.substring(0, max);
    } 
}
</script>

HTML

<textarea id="textarea" onkeydown="limit(10);">bla bla</textarea>

limit()許可する最大文字数で呼び出します

于 2012-10-17T13:23:33.317 に答える
1

現在、主要なブラウザーmaxlengthで (あまりにも) サポートされている属性を使用できます。textareaブラウザーによって改行の計算方法が異なる場合があることに注意してください (各改行は 1 文字または 2 文字です)。(質問はクライアント側のチェックに関するものだと思います。サーバー側のチェックは問題にならないはずです。)

于 2012-10-17T13:17:56.113 に答える
1

html の方法:maxlenghtを html 入力に追加するだけで、たとえば 20 で文字を追加できなくなります。<input type="text" name="whatever" maxlength="20">. どのユーザーもこのコードを変更して文字数制限を変更できるため、これは安全ではありません。php テストを実行することを忘れないでください。

php の方法 :strlen($yourstring)制限を指定できるように文字列の長さを知るために使用します。php とは「サーバー側のスクリプト」を意味することを忘れないでください。このテストはサーバー上で実行され、クライアントがコードをハッキングするのを防ぎます。

if (strlen($yourstring) <= 25)
// Save the input value
else
   echo 'your input is too long (25 characters max)';

PS : index.php だけでなく、使用しているすべての .php ページに jquery.js を含める必要があるため、jquery.js にアクセスできません。

于 2012-10-17T13:19:25.860 に答える