テキストエリアに関連するオプションが選択されているときに、行と行ごとの文字を制限したいテキストエリアを持つ Drupal Web フォームがあります。
たとえば、ユーザーがオプション A を選択した場合、テキストエリアは 2 行に制限し、1 行あたり 14 文字に制限する必要があります。オプション B、3 行、18 文字。などなど。
javascript コールバックのテキストエリアに属性を追加するために hook_form_alter を介して Web フォームとやり取りすることができないようです。それが私の最初の問題だと思います。しかし、jQueryでそれを行うことができました。
$(document).ready(function() {
$('#mytext').keyup(function() {
var v = $(this).val();
var vl = v.replace(/(\r\n|\n|\r)/gm, "").length;
if (vl == 0) {
count = 1;
}
if (parseInt(vl / count) == chars) {
$(this).val(v + '\n');
count++;
}
if (count > 3) {
var text = $('#mytext').val();
var lines = text.split('\n');
var test = implode('\n', lines);
alert(test);
}
});
});
また、行数と行ごとの文字数をカウントし、制限に達した場合に入力を禁止するにはどうすればよいですか?
上記の一部はこちらからお借りしました。