QA@IT

ChromeでMaxLengthを指定すると半角アラートが出る

2774 PV

Chrome(バージョン 48.0.2564.116 m)で下記のようにINPUTタグを書きました。
<input name="cp" type="text" id="cp" maxlength="127" />

そこでテキストに127文字以上入力して、アンダーラインがついた文字にマウスカーソルをあてると、画像のように「このテキストを半角127文字以内にしてください(現時点で半角131文字です)。」とポップアップ表示されます。
before.png

「半角」を表示させないようにするか、もしくはこのポップアップ自体表示させないようにするにはどうしたらいいでしょうか?
もしわかればご教授願います。

  • 質問の html コードそのものを Vista SP2 32-bit, Chrome バージョン 49.0.2623.87 m で試してみましたが再現できません。137 文字の "ああああ・・・" をメモ帳で作ってそれをテキストボックスにコピペしたのですが、127 文字でカットされツールチップの警告などは表示されません。環境が違うのですかね。 -
  • そうなのですね。こちらはWindows7 64bitで試したら再現されました。 -
  • 今朝バージョンが 49.0.2623.87 m の最新版になり試してみましたが再現されました。ブラウザ仕様だとポップアップを消すようなオプションがない限り、無理なのかもしれないですね -
  • Windows2012Server上だと再現されないことを確認しました。特定のOS上の問題だけのようなのと、管理画面なので状況説明してこのままいこうかなと思います。 -
  • Web アプリを作っているのだと思いますが、Web アプリにユーザー入力を検証する機能があれば(例えば ASP.NET MVC の StringLength 属性など) maxlength でなくそちらを使ったほうがいいと思います。 -
  • ASP.NET(C#)での開発ですが、MVCではないです。サーバ側でも一応入力チェックロジックは走るので、顧客から受け入れられなければmaxlength外してサーバ側のチェックのみにしようと思います。 -
  • ASP.NET Web Forms アプリなら RegularExpressionValidator を使って正規表現で文字数を制限できます。クライアント側での検証用 JavaScript も自動生成してくれます。必須入力項目であれば RequiredFieldValidator と一緒に使ってください。 -
  • ASP.NET Web Formsアプリなので、RegularExpressionValidatorを確認してみます。ありがとうございます。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。