• ベストアンサー

jqueryでテキストエリア監視について

utun01の回答

  • utun01
  • ベストアンサー率40% (110/270)
回答No.1

keyupのみで良いのでは? keyupはキーが離された時 changeは対象からフォーカスが外れてボックス内容が変更されていた時 にイベントを投げます。 ですので、おそらくやりたいことはkeyupのみで出来るのではないでしょうか。

hunter_999
質問者

補足

ご回答ありがとうございます。 ctrl+vでペーストされた場合に2回処理されてしまうのは 仕方のないことなのでしょうか??

関連するQ&A

  • Ajax テキストエリアについて

    作ったテキストエリアにXmlHttpObjを出力したいのですがどのようにすればいいでしょうか? テキストエリアは <textarea id="text" style="width:100%; height:300px;"disabled></textarea><br> というように作りました。 XmlHttpObjは var xmlhttp; function httpHandler(){ if(xmlhttp.readyState == 4 && xmlhttp.status == 200){ alert(xmlhttp.responseText); } } function onButtonclick(){ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); xmlhttp.onreadystatechange = httpHandler; xmlhttp.open("GET", "data.txt"); xmlhttp.send(null); } このようにしました。(仮で出力をアラート形式にしております。) 回答よろしくお願いします。

    • ベストアンサー
    • AJAX
  • jQueryで文字数カウンタ(複数対応)

    jQueryのプラグインを作成中です。 指定したテキストフォーム、テキストエリア内の文字数をカウントして、 指定場所に文字数を表示させるというものです。 下記のように記述し、 (function(jQuery) { jQuery.fn.textCount = function(options) { //キーボードが押された時にカウント jQuery(this).live("change keyup",function(){ var count = jQuery(this).val().length; var disp_area = jQuery(this).attr("id"); jQuery("."+disp_area).html(count+"文字"); }); return this; }; })(jQuery); jQuery(".counter").txtCount(); とHTML内で宣言しました。 <textarea id="sample">ここの文字数が</textarea> <div class="sample">ここに表示</div> と、ここまではうまくいきました。 が、テキストエリアの数が複数個あり、数が変動するため、IDを配列にしたいと思っています。 そこで、 <textarea id="sample[1]">個々の文字が</textarea> <div class="sample[1]">ここに表示されない</div> のように記述しました。 すると文字数が表示されなくなってしまいました。 classやidに配列指定はできないのでしょうか。 また、この場合はどのように宣言するのが正しいのでしょうか。

  • DOMによる、テキストエリアの内容の書き換え

    以下コードを記述し、test.htmlで保存しました。 「ボタンがクリックされたとき、テキストエリアボックスの内容が書き換わる」 と言うことを想定し、作成してみました。 ところが、ボタンをクリックしても、テキストエリアが書き換わりません。 elm[0].Valueでは、駄目なのでしょうか。 ボタンをクリックしたとき、関数までは動いていることは確認できたのですが。 (alertで確認済み) ご教授お願いします。 ==========以下内容====== <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>テキストエリア書き直し</title> </head> <body> <h1>テスト</h1> <p>テキストエリアの書き換え</p> <script type="text/javascript"> <!-- function syutoku(){ var elm=document.getElementsByName('textarea1'); elm[0].Value="書き直し"; //alert(elm[0]); } --> </script> <hr> <p>テキストエリアを書き直します。</p> <form name="form1"> <p><input type="button" value="ボタン" onClick="syutoku()"></p> <p><textarea cols="40" rows="4" name="textarea1"> テキスト書き直しエリア</textarea></p> </form> <hr> </body> </html>

  • テキストエリア内で改行するには。

    次のスクリプトを実行すると、テキストエリア内に 01234560 と数字が表示されますが、これを 0 1 2 . というように改行も含めてテキストエリアに出力するにはどうすればよいでしょうか。 ¥nという文字を使用するのでしょうか? <html> <head> <script language="JavaScript"> <!-- var textA="" function my1() {for (i=0;i<11;i++){textA=textA+new String(i)} document.form1.text1.value=textA;} //--> </script> </head> <body> <form name="form1"> <textarea name="text1" size="10"></textarea> <input type="button" value="CLICK!" onClick="my1();"> </form> </body> </html>

  • テキストエリアに入力された語に特定の語句を附加したい

    「特定の語句+","+テキストエリアに入力された語」をフォーム送信したいと思っています。 (1)テキストエリア1(識別名=NAME1)に入力された語を調べて警告メッセージを発し、(2)この警告メッセージとテキストエリア1に入力された語を、「,」で区切った1つの文字列(識別名=NAME2)としたうえで(3)送信したいと考えています。 そこで、試行錯誤しながら、一応、下のように記述はしてみたのですが、(テキストエリア1に数字を入力した場合を除き)上手く動作しません。 つきましては、恐れ入りますが、どなたか、正しい記述をご教授いただけませんでしょうか。JAVAスクリプト全くの初心者ですが、何卒よろしくお願いいたします。 <head> <script language="JavaScript"><!-- function check() { //(1)条件にマッチしてるか判断 txt = document.myFORM.NAMAE1.value; //テキストエリア1に入力された語をtxtに data=txt.match(/a[^\&\"]*d/im); //txtが条件にマッチしてるか判断 alert1="メッセージ"; if (!data) {alert(alert1); //マッチしていない時は警告メッセージを表示 //(2)警告メッセージとテキストエリア1に入力された語を、とりあえずテキストエリア2に入れようと考えました。 n=0; n=eval(document.myFORM.NAMAE1.value); //とテキストエリア1に入力された語をnに document.myFORM.NAMAE2.value=alert1+","+n+","; //テキストエリア2に警告メッセージとnを入れようとしています //(3)そして、テキストエリア2内の語を送信 document.myFORM.submit(); } } // --></script> </head> <body> <form name="myFORM" method="post" action="**.cgi" > <A onclick="check()"><IMG src="1.gif"></A> <textarea name="NAMAE1"></textarea></td> <textarea name="NAMAE2"></textarea> </form> </body>

  • テキストエリアについて

    テーブル内にテキストエリアを入れると下に空白(隙間)ができてしまうのですがそれをなくすることはできないでしょうか? 例 <table border="1"> <tr> <td>あいうえお</td> <td rowspan="3"><form name="TxtArea"><textarea rows="10"></textarea></form</td></tr> <tr><td>かきくけこ</td></tr> <tr><td>さしすせそ</td></tr> </table> *<td></td>内に<form></form>が入ってる理由はJavaScriptを使ってテキストエリアに文字を表示させる処理を行っている為です。 この状態でどのようにすれば隙間を消す事ができるでしょうか? もちろん<td></td>内に<form></form>を入れなければ大丈夫な事はわかっていますが、JavaScriptが正常に動作しないのでできません。 よろしくおねがいします。

    • ベストアンサー
    • HTML
  • テキストエリアの中のテキストにリンクを付けたいのですが

    ホームページビルダー9でホームページを作成しています。 挿入→その他→HTMLタグ→タグの中からTEXTAREAを選択しテキストエリアを作成 作成したテキストエリアに文章を入れ表示することはできるのですがその文章にリンクを付けることができません 例:今日は病院へ行きました。 上記の文章の『病院』をクリックしたとき、指定したページにリンクしたいのですがどのようにすればできるでしょうか?よろしくお願いします。

  • selectのchangeイベントの回数

    IE8を使用しています。jqueryで、以下のようなソースを書いています。 #alistは、selectタグにつけているIDです。selectの項目を変化させたときに、 一度だけyyy.phpを実行させたいのですが、changeイベントが2回起きてしまいます("a"のalertが2回出る。) なぜでしょうか?一度だけイベントを取得する方法を教えていただけないでしょうか? ソースコード: $(function() { alert("a"); $('#alist').change( function() { $.getJSON("php/yyy.php", XXX, function(data) { }); 以下、かっこを閉じる。

  • テキストエリアに改行入りのテキストを挿入したい。

    テキストエリアに外部から取得したテキストを読み込みたいと思っています。 そのテキストを、以下のコードのように'|'を'\n'に置換します。 このようにテキストに改行(\n)が入っていると、 オブジェクトを指定してください。というスクリプトエラーが発生するようです。 やりたいことは、テキストエリアに改行つきのテキストを挿入したい。 ということです。 何か良い方法はないでしょうか。 <script language="JavaScript"> function init(){   with(document.testform){ <% String text_abc = (String)request.getAttribute("test"); text_abc = text_abc.replace('|','\n'); %> textareaAAA.value="<%=text_abc%>";   } } </script>

  • テキストエリアの入力値からチェックボックスのON・OFF切り替え

    テキストエリアからフォーカスが外れた際、テキストエリアに入力された文字があればチェックボックスをONに、何もない場合はOFFにしたいです。 <HTML> <BODY> <SCRIPT language="javascript"> <!-- function Check(AAA,BBB) { var cTxt; cTxt = "txt" + AAA; item_txt = eval('document.form1.' + cTxt + '.value'); item_txt2 = item_txt.replace(/ /g,""); item_txt2 = item_txt2.replace(/ /g,""); if (!item_txt2){ alert("チェックを外す"); } else { alert("チェックを付ける"); } } //--> </SCRIPT> <FORM name="form1"> <TABLE> <TR> <TD><TEXTAREA name="txt029" rows="2" cols="20" onblur="Check('029','1')"></TEXTAREA></TD> <TD><INPUT type="checkbox" name="chk[]" value="029"></TD> </TR> <TR> <TD><TEXTAREA name="txt121" rows="2" cols="20" onblur="Check('121','2')"></TEXTAREA></TD> <TD><INPUT type="checkbox" name="chk[]" value="121"></TD> </TR> </TABLE> </FORM> </BODY> </HTML> <TR>~</TR>はPHPで書き出しをしており、行数は都度変化します(1行~20行)。 1つの<TR>~</TR>で、TEXTAREAのname下3桁・Checkの1つ目の引数・checkboxのvalueは全て同じ値が入ります(値は変化)。 Checkの2つ目の引数は書き出した順に0から振るようにしています。 この記述だと2つ目の引数は活用できてないのですが…使い道があるかと思って書いてはいるのですが結局わからなくてそのままになってます。 色々考えてはみたのですが、どのように対応するチェックボックスを指定していいのかがわかりません。 是非ご教授いただきたいです。