none
IE10 の textarea で submit 後に改行が増えてしまう。 RRS feed

  • 質問

  • IE10 で、html ページの textarea タグの入力内容の改行文字が、送信後に増えてしまう現象を確認しました。

    textarea タグに入力した内容 <改行> は Enter の改行です。
    line1 <改行>
    line2 <改行>
    line3

    submit 後 post で取得した内容
    line1 <改行>
    <改行>
    line2<改行>
    <改行>
    line3

    htmlソースは、以下のような形で試してみました。
    ------------------------------------------------
    test1.html

    <html>
    <head>
    <title>test</title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <meta http-equiv="content-style-type" content="text/css">
    </head>
    <body>
    <form method="get">

    <textarea name="t1" rows="5" cols="40" wrap="hard"></textarea>
    <input type="submit" value="submit">

    </form>
    </body>
    </html>

    ------------------------------------------------
    ・テキストエリアに、複数行の文字を入力して submit すると、改行が増えている。
    get の場合 test.html?t1=line1%0a%0aline2%0a%0aline3 のように、改行1つ(%0a)が2つに。
    post でも同様に起きました。

    発生する条件としては
    ・textarea タグで、属性 wrap = hard を設定。それ以外の値(soft、off、属性なし)だと起きない。
    ・互換表示はオフの状態。(互換表示オンだと起きない)
    ・セキュリティゾーンは未設定。(ローカル イントラネットだと起きない)
    ・textarea タグ内にデフォルトでセットしておいた値については、改行は増殖しませんでした。
     ブラウザで入力した改行が増殖しているようです。

    IEのバージョンは 10.0.8400.0 (Windows 8 Release Preview) です。
    IE8 (WinXP)や IE9 (Win7) では、このような現象は起きませんでした。

    2012年7月2日 8:02

すべての返信

  • 再現しました (`・ω・´)

    ご提示の条件では、サブミット時は最近のはOSによらず%0d%0aになるようですね。
    Connectをさくっと検索してみても見当たりませんでしたので、お手数でなければ、フィードバックされると良いと思います。
    # フィードバックのための投稿の成功率が7割ぐらいなのですが、私だけでしょうか。。。

    2012年7月4日 13:12
  • 返信の確認が遅れてすいません!
    以前、この内容で Microsoft Answers で同じ質問をしたのですが、特に進展がありませんでした。
    サポートエンジニアの方からは開発者の方が多く利用している MSDN のフォーラムへの投稿を勧められ、こちらにも投稿した次第です。
    このままだと、

    http://answers.microsoft.com/ja-jp/ie/forum/ie10-windows_8/ie10rp-textarea/74f803cf-da63-47dc-8ffc-dcb28b85259b

    再度、htmlのみで検証してみました。
    test.html

    <!DOCTYPE html>
    <html>
    <head>
    <title>IE10 textarea test</title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <meta http-equiv="content-style-type" content="text/css">
    </head>
    <body>
    <form method="get" action="test.html">
    <h3>wrap = none</h3>
    <textarea name="t1" rows="4" cols="40"></textarea>
    <br />
    <h3>wrap = off</h3>
    <textarea name="t2" rows="4" cols="40" wrap="off"></textarea>
    <br />
    <h3>wrap = soft</h3>
    <textarea name="t3" rows="4" cols="40" wrap="soft"></textarea>
    <br />
    <h3>wrap = hard</h3>
    <textarea name="t4" rows="4" cols="40" wrap="hard"></textarea>
    <br />
    <input type="submit" value="送信">
    </form>
    </body>
    </html>

    ------------------------------------------------
    各テキストボックスに v1<改行>v2 と2行入力して、submit した内容を get で url に表示してみました。
    すると、IE9 と IE10 で違いが出ました。

    IE9 (on Win7)
    https://***/test.html?t1=v1%0D%0Av2&t2=v1%0D%0Av2&t3=v1%0D%0Av2&t4=v1%0D%0Av2

    IE10 (on Win8RP)
    https://***/test.html?t1=v1%0D%0Av2&t2=v1%0D%0Av2&t3=v1%0D%0Av2&t4=v1%0A%0Av2

    最後の t4 が、wrap = hard の値です。
    他のテキストボックスでsubmit された改行が %0D%0A(CR+LF) なのに対し、%0A%0A (LF+LF) になっています。

    Micfosoft Answers で再度投稿して、フィードバックしてもらえるかどうか。いや、このままだと、非常に困るのですが‥‥

    2012年7月9日 13:27
  • 以下の操作で、Webからフィードバック出来ると思います。(RP版でも。終了してるかもですが。。)
     
    1.https://connect.microsoft.com/IE/Feedback へアクセス。
    2.サインイン(※必要な場合)
    3.左メニューが増えるので、その中の「フィードバック」を押下
    4.投稿された一覧などが出てくると思いますので、「フィードバック送信」ボタンを押下
     
    英語の投稿が多いですが、日本語でもある程度OKのようです。
    内容はここに書かれているよう再現した際の条件が重要かと思います。再現が出来るかどうかが分かれ目ですので。
    # 過去の私の感覚になりますが、投稿した際に、最初の2,3営業日で応答がない場合は、見込みが薄いかもしれません。 
     
    answersは自主努力でなされているので、正式なのは上記かと思います。
    # 時期的に難しいかどうかは分かりませんが、内容を見るに割りといけると思います。(別のパッチに含めて一緒に修正される場合もよくありますので、速ければ速いほどよいです)

    2012年7月10日 14:26