トップ回答者
html5 改行の桁数について

質問
-
html初心者です・・・。
TextAreaにMaxLength属性の指定をして、入力文字数の制御を行っております。
IE(Windows)では改行が1桁と換算されるのですが、Mac(Safari)では2桁と換算されます。
【MaxLengthを10と指定したTextArea】
IE(Windows) 以下の内容まで入力できる。
⇒
12345[改行]
1234
Mac(Safari) 以下の内容までしか入力できない。
⇒
12345[改行]
123
IE(Windows)とMac(Safari) で同じように改行を1桁と換算させ、MaxLength属性を指定することはできるのでしょうか?
- 移動 星 睦美 2015年3月9日 6:09 .NET Framework 全般 から
回答
-
こんにちは。
レスがつきませんね。IEの問題でも無いと思うので回答を得るのは難しいのでしょうか。さて、詳しいことはわからないのですが
CRLFの扱いがOS、ブラウザ間で異なるため起きるのかなと推測します。
Windows:IE->OK, FF->OK, Safari->OK, Chrome->NG
Mac:FF->OK, Safari->NG, Chrome->NGJavaScriptでやってみたところ文字数の統一自体はできそうでした。
ここからごにょごにょやると目的が実現できるかもしれませんが
知識が乏しく中々うまいこといかなかったので
参考までに途中までで投稿致します。<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <script type="text/javascript"> function checkMaxLength(sender, max) { if (sender.value.length > max) { sender.value = sender.value.substring(0, max); event.keycode = 0; return false; } return true; } </script> <title></title> </head> <body> <textarea onkeyup="checkMaxLength(this, 10);" onkeypress="checkMaxLength(this, 10);"></textarea> </body> </html>
#問題点:一瞬、超過分の文字が見えてしまう。- 回答の候補に設定 Hebikuzure aka Murachi AkiraMVP, Moderator 2015年3月11日 3:59
- 回答としてマーク 星 睦美 2015年3月19日 8:07
すべての返信
-
フォーラム オペレーターの星 睦美です。
yhaaaa さん、投稿ありがとうございます。.NET Framework フォーラムに投稿いただきましたが、質問の内容から回答がつきやすいようにInternet Explorer フォーラムに移動させていただきます。(こちらの返信を確認していただくために少し時間をおいてから移動します。)
もし投稿した質問が見当たらない場合には、フォーラムページの左上[クイック アクセス] >マイスレッド で投稿した質問を確認できます。フォーラム ユーザーからの回答がお役にたちましたら、投稿者からの[回答としてマーク] をお願いします。・フォーラムのご利用方法、ヘルプ、回答のガイドラインに関するお知らせ:
フォーラム オペレーター 星 睦美 - MSDN Community Support
- 編集済み 星 睦美 2015年3月9日 6:09 編集
-
こんにちは。
レスがつきませんね。IEの問題でも無いと思うので回答を得るのは難しいのでしょうか。さて、詳しいことはわからないのですが
CRLFの扱いがOS、ブラウザ間で異なるため起きるのかなと推測します。
Windows:IE->OK, FF->OK, Safari->OK, Chrome->NG
Mac:FF->OK, Safari->NG, Chrome->NGJavaScriptでやってみたところ文字数の統一自体はできそうでした。
ここからごにょごにょやると目的が実現できるかもしれませんが
知識が乏しく中々うまいこといかなかったので
参考までに途中までで投稿致します。<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <script type="text/javascript"> function checkMaxLength(sender, max) { if (sender.value.length > max) { sender.value = sender.value.substring(0, max); event.keycode = 0; return false; } return true; } </script> <title></title> </head> <body> <textarea onkeyup="checkMaxLength(this, 10);" onkeypress="checkMaxLength(this, 10);"></textarea> </body> </html>
#問題点:一瞬、超過分の文字が見えてしまう。- 回答の候補に設定 Hebikuzure aka Murachi AkiraMVP, Moderator 2015年3月11日 3:59
- 回答としてマーク 星 睦美 2015年3月19日 8:07