• ベストアンサー

javaScriptで、テキストエリアのある文字列を見つけて、

javaScriptで、テキストエリアのある文字列を見つけて、 その行から、1行目と2行目を消すという処理を行いたいのですが、 コーディングがわかりません。 教えて下さい。 (例) 下記のテキストエリアから、「<ターゲット文字列>」を見つけて、 その行から1行目と2行目、つまりは、「さしすせそ」と「たちつてと」を削除したいです。 -----textarea----- あいうえお かきくけこ <ターゲット文字列> さしすせそ たちつてと

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

#2です。ていせいです。 version=1.6 は、 version=1.8 にして下さい。

tooru5565
質問者

お礼

本当にありがとうございます!! 助かりました!!!

その他の回答 (2)

回答No.2

ぶらうざをえらぶけど、またちょっとかいてみた。じゅもん、その2。 ぜんかくくうはくは、はんかくに。 <!DOCTYPE html> <title></title> <form action="#">  <p>   <textarea id="abc" name="abc" cols="40" rows="15"> あいうえお かきくけこ <ターゲット文字列> さしすせそ たちつてと なにぬねの <ターゲット文字列> さしすせそ <ターゲット文字列> たちつてと なにぬねの これはのこるのね   </textarea>   <input type="button" value="test" onclick="test()">  </p> </form> <script type="application/javascript; version=1.6"> var find = function (str)  ! (this.cut && this.cut--, str && this.check.test (str) ? (this.cut = this.deleteLine): this.cut) var test = function () {  var cb = { deleteLine : 3, check : /<ターゲット文字列>/, cut: 0 };  var n = document.getElementById ('abc');  var v = n.value;    if (v)   n.value = v.split (/\r\n|\r|\n/g).filter (find, cb).join ('\n'); } </script>

  • bin_go
  • ベストアンサー率25% (2/8)
回答No.1

とりあえずこんなのでどうでしょう。 もっと簡単に出来そうなきもしますが 私にはわかりません。^^; <html> <head> <script lang="text/javascript"> function del() { str = form1.text1.value; tstr = form1.target1.value; form1.text1.value = str.replace(str.match(tstr+".*\n.*\n.*\n"),str.match(tstr+".*\n")); } </script> </head> <body> <form name="form1"> <textarea name="text1" rows="10" cols="40"> あいうえお かきくけこ <ターゲット文字列> さしすせそ たちつてと </textarea><br> <input type="text" name="target1" value="ターゲット文字列"><br> <input type="button" name="button1" value="実行" onClick="del();"> </form> </body> </html>