javascriptについての質問です。


入力フォーム(inputやtextarea)に、禁止文字が記入された場合
そのフォーカスが外れた時点で自動的に書き換えるようにしたいと考えています。

参考になるサイトやサンプルコードを示して頂ける方、
宜しくお願いします。

書き換え例)
'→’
<→<

jsが動かない場合は入力できてしまいますが、それはそれで構いません。

回答の条件
  • 1人1回まで
  • 登録:2008/09/12 01:35:18
  • 終了:2008/09/19 01:40:03

回答(3件)

id:kn1967 No.1

kn1967回答回数2915ベストアンサー獲得回数3012008/09/12 04:52:16

ポイント27pt

下記ページの「フォーカス移動時のイベント/フォーカスの移動」の項を参照してみてください。

他にも色々なイベントについて書かれていますので参考になるかと思います。

一番簡単な JavaScript

id:freewriter

ありがとうございます

2008/09/13 15:49:17
id:y-kawaz No.2

y-kawaz回答回数1420ベストアンサー獲得回数2252008/09/12 18:23:11

ポイント27pt

blurというフォーカスが外れたというイベントがありますので、そのタイミングでvalueを書き換えてやればよいと思います。

<input onblur="this.value=this.value.replace(/</, '<');" />
<textarea onblur="this.value=this.value.replace(/</, '<');"></textarea>

この例では onblur に簡単に書いてしまっていますが、色々な禁則文字の置換処理をする関数を適当に作ってやればいいでしょう。

id:freewriter

ありがとうございます!

2008/09/13 15:49:36
id:GoldenDawn No.3

GoldenDawn回答回数426ベストアンサー獲得回数812008/09/13 14:32:55

ポイント26pt
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <link rel="stylesheet" type="text/css" disabled="true" href="./test.css" id="mycss" />
    <style type="text/css">
    </style>
    <script type="text/javascript">
      <!--
        function replaceChars(ta) {
          var table = {
            '\'' : '’',
            '"'  : '”',
            '<'  : '<',
            '>'  : '>',
            '&'  : '&'
          } ;
          var keys = '' ;
          for (a in table) keys += a ;
          var rexp = new RegExp('([' + keys + '])', 'g') ;
          ta.value = ta.value.replace(rexp, function($1) { return table[$1]; }) ;
        }
        //-->
    </script>
  </head>

  <body>
    <form>
      <input type="text" onBlur="replaceChars(this);" />
      <textarea onBlur="replaceChars(this);"></textarea>
      <input type="submit" />
    </form>
  </body>
</html>
id:freewriter

ご丁寧にありがとうございました!

2008/09/13 15:49:48

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません