ユーザーが入力するときにテキストエリアのコンテンツのスタイルを設定する方法があるかどうか知りたいです。
例えば:
<textarea>abcdefghijklmnopqrstuvwxyz</textarea>
javascriptを使用して、画面上の上記のtextarea文字列のすべての母音を強調表示できますか?しかし、それでもフォームが送信されたときにのみ文字列を送信しますか?
ユーザーが入力するときにテキストエリアのコンテンツのスタイルを設定する方法があるかどうか知りたいです。
例えば:
<textarea>abcdefghijklmnopqrstuvwxyz</textarea>
javascriptを使用して、画面上の上記のtextarea文字列のすべての母音を強調表示できますか?しかし、それでもフォームが送信されたときにのみ文字列を送信しますか?
div
との代わりにwithcontentEditable
属性を使用しtextarea
て、そこで強調表示を行うことができます。
https://developer.mozilla.org/en-US/docs/HTML/Content_Editable
div
投稿する必要がある場合は、フォームの非表示フィールドにこのコンテンツをコピーする必要があります。
textareaにいくつかを与え、そのイベントをjquery関数でid
バインドします。このようなものonkeyup
$('#id_of_textarea').bind('keyup', function() {
//for displaying vowels on screen
var str=$('#id_of_textarea').val();
var total_findVowels="";
for (var i = 0; i < str.length; i++) {
if (str.charAt(i).match(/[a-zA-Z]/) != null) {
// findVowels
if (str.charAt(i).match(/[aeiouAEIOU]/))
{
total_findVowels=total_findVowels+str.charAt(i);
}
}
//use some label to display all vowels
$("#some_lbl").text(total_findVowels);
}//for
} );
これを試して
<div contenteditable="true">
This text can be edited by the user.
</div>
あなたはいくつかのインスピレーションのためにそれらの質問の1つを見ることができます。彼らはライブシンタックスハイライトについて具体的に話しているので、それはあなたが求めているものではありませんが、おそらく十分に近いです、そしてシンタックスハイライトはより一般的な問題のようですので、いくつかの準備ができた解決策を見つけるのは簡単です:
正確にビーイングし、あなたの質問だけに答える場合:それを行う方法はありませんが、他の人が言ったように、あなたのタスクを解決する他の方法があります
私は次のスニペットを使用します:
$( "#yourtextarea" ).bind( "keyup input paste", parseAndReplaceContent );
私parseAndReplaceContent
の関数はjQueryを呼び出し$( "#yourtextarea" ).val()
て、データにアクセスして変更します。