au と Softbank の input要素や textarea要素内にタグが入っていた場合の表示の違い

2007年12月20日 06:58 au と Softbank の input要素や textarea要素内にタグが入っていた場合の表示の違い

昨日仕事で、携帯からサイトの更新ができる、ちょっとしたCMSツールみたいなのを作っていたんですが、新たな発見があったのでメモ。

作っていたツールというのは「普段PCで更新しているPC向けサイトを、緊急時なんかに外出先でも更新できるようにする」という目的のものです。

ケータイのブラウザでツールにログインして、更新するページの項目を選択。その後表示されるフォームで、コンテンツを携帯から書き換える。というような処理をしています。

で、サイトのコンテンツを更新するツールなので、フォームの input要素や textarea要素には、現在のコンテンツが入った状態で出力されます。
当然、HTMLタグも入っているわけです。下記のような感じ。

<input type="text" name="header" value="<strong>新着情報</strong>" />

<textarea name="content">クリスマス中止のお知らせ!<br />今年のクリスマスは中止!</textarea>

動作確認をしてみると、ソフトバンクのケータイでは input要素や textarea要素内にHTMLタグが入っていても、普通にフォームが表示されました。
auのケータイではアウト。 input要素の value属性内や、textarea要素内の、HTMLタグがある部分で入力欄の内容が終わっちゃいます。

まあ双方一機種ずつしか確認してないので、ソフトバンクでも駄目なケータイがあるかもしれないし、au でも OKなケータイがあるかもしれません。
au とソフトバンクの違いというか、搭載しているブラウザの違いと言うべきでしょうか。
ちなみに、PCで表示した場合、IEだと普通に見れます。
DoCoMo のケータイは持ってないので確かめてません。

どっちにしろ、これは横着した結果こうなったというだけで、ほんとは全部「<」は「&lt;」、「>」は「&gt;」と出力するべきです。

というわけで、そのフォームを出力する前に、

$content =~ s/</&lt;/g;
$content =~ s/>/&gt;/g;

みたいにしてから、

print qq|<input type="text" name="header" value="$content" />\n|;

とか、

print qq|<textarea name="content">$content</textarea>\n|;

とやれば、au でもちゃんと表示できました。

阿部辰也へのお仕事のご依頼・お問合せはこちら

Twitter始めました。Followはお気軽にどうぞ。

関連するブログ記事
カテゴリー
perl/CGI | モバイル(携帯電話・ケータイ)Web
タグ
au | input要素 | perl | textarea要素 | xhtml | ソフトバンク | モバイル | 実体参照 | 正規表現
現在位置
TOP > Web制作技術 > モバイル(携帯電話・ケータイ)Web > au と Softbank の input要素や textarea要素内にタグが入っていた場合の表示の違い
前のブログ記事
「愛のバクダン」 - B'z [2007年12月19日 23:59]
次のブログ記事
「THE CIRCLE」 - B'z [2007年12月21日 05:22]

トラックバック(0)

このブログ記事に対するトラックバックURL:

コメント(9)

taketan [2008年4月 4日 21:48]

BBSなどに携帯から画像添付でアップロードする場合、HTMLでinput要素をtype='file'にすると、Vodafone携帯だとうまく画像添付ができるのですが、Docomo、auの携帯では添付できないんです。何か別の対応方法ってありますか?

Tatsuya [2008年4月12日 11:37]

> taketanさん

現状、基本的に携帯電話では input type="file" は使えない、と割り切ってしまった方が良いかもしれませんね。
携帯電話でファイル添付してアップロードする手段としては、添付ファイル受付用のメールアドレスを作って、そのアドレス宛に、携帯から添付メールを送ってもらう、という手法が一般的かと思います。
有名なところで言うと、mixiモバイルで写真つき日記を書くときとかがそうですね。

メールを受信して、色々処理する方法に関しては、下記記事「メール受信時に perl スクリプトを起動して自動処理させる方法」が参考になるかもしれません。
http://www.abe-tatsuya.com/web_prog/perl_cgi/mail2perl.php

BOBBY [2009年2月 7日 04:09]

携帯BBSをチューンしていて行き詰って調べていたらここにたどり着きました。
ブログの内容とTaketanさんの言っていることにガチで問題が当てはまっていました。
すごく理解はできました。

簡単に作れないものですかね。。(涙)

ということで参考になりました!

Tatsuya [2009年3月 4日 20:53]

> BOBBYさん
携帯からのファイルアップロードは、なかなか楽にできるようになりませんね……。
まあ、セキュリティ面の問題とかもあると思うので、難しいんでしょうかね。

payday loans [2015年1月 1日 03:52]

zvyuvsx http://paydayloansdpn.com/ payday loans

payday loans [2015年1月31日 14:49]

djayvao http://paydayloansdpl.com/ payday loans

buy viagra [2015年5月29日 17:52]

jhwmhc http://buyviagrartb.com/ buy viagra

yrgepdt [2017年1月16日 13:15]

Blood weight is determined, flash close to second, nearby the match between magnanimity achieve versus amount to unimportant partisans and varies depending on situation, agitated brilliance, work, and relative health/disease states. viagra without a doctor prescription is regulated by the wisdom via both the perturbed and endocrine systems.

otcd91 [2017年1月28日 04:44]

The rout evidence indicates that enormous blood stress does not lead to headaches or nosebleeds, except in the turn out that in the event of of hypertensive crisis, a medical pinch when blood burden is 180/110 mm Hg or higher. If your blood pressure is unusually on a trip viagra without a doctor prescription you be struck by headache or nosebleed and are inkling unwell, on the back burner serve five minutes and retest. If your reading remains at 180/110 mm Hg or higher, holler 9-1-1.

コメントする


画像の中に見える文字を入力してください。