プロが教える店舗&オフィスのセキュリティ対策術

現在、セレクトボックスで選択した値をテキストエリアに反映させる
javascriptを以下のように作成したのですが、
Firefoxでは問題なく実行されるのですが、IE8だと全く反応がありません。
この機能をIE8でも実行できるようにするためには、どこをどのように修正すればよいのか
わかりません。
(色々調べてはいるのですが、早急に実装しなければならない事情がありまして)
どなたか、ご教授いただけないでしょうか?

■HTMLソース
<html>
<head>
<title>テスト</title>
<script type="text/javascript" src="./insert.js"></script>
</head>
<body>


項目:
<select id="meet1" onchange="insert_meet1()">
<option></option>
<option>テスト1</option>
<option>テスト2</option>
<option>テスト3</option>
</select>


<br />
反映されるエリア:
<textarea id="result" cols="50" rows="10"></textarea>

</body>
</html>

■insert.js
function insert_meet1(){
var mojiretsu = document.getElementById('meet1').value;
var area = document.getElementById('result');
var bun = document.getElementById('result').value;
var nagasa = bun.length;
var basho = area.selectionStart;
var mae = bun.substr(0, basho);
var ushiro = bun.substr(basho, nagasa);
document.getElementById('result').value = mae + mojiretsu + ushiro;
}

A 回答 (2件)

area.selectionStartのような処理にIEが対応していないらしいです。




ちゃんと調べてはいませんので、内容はご自分で確認してください。
 http://d.hatena.ne.jp/brazil/20061021/1161377936
 http://d.hatena.ne.jp/koseki/20051023#xbselection
 http://efreedom.com/Question/1-263743/Get-Cursor …
 http://www.studio-freesky.net/programming/javasc …
 http://blog.livedoor.jp/p-1956050/archives/50672 …
    • good
    • 0
この回答へのお礼

ありがとうございます。
内容を調べてみます。

お礼日時:2011/04/05 22:25

DOCTYPE宣言を入れてIE8対応のHTMLを使っていることを示すか


HTMLヘッダにて次のようなコードを入れてIE8と互換性があることを示してください。
X-UA-Compatible: IE=emulateIE8

DOCTYPE宣言の例としては以下のようなもの
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

DOCTYPE宣言自体がよくわからないならこちらを見てください。
http://builder.japan.zdnet.com/html-css/sp_inter …

この回答への補足

早速のお返事ありがとうございます。
下記のコードのように修正しましたが、やはりだめみたいです。。

■HTMLソース
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8">
<title>テスト</title>
<script type="text/javascript" src="./insert.js"></script>
</head>
<body>


項目:
<select name="meet1" onchange="insert_meet1()">
<option></option>
<option>テスト1</option>
<option>テスト2</option>
<option>テスト3</option>
</select>

<br />
反映されるエリア:
<textarea id="result" cols="50" rows="10"></textarea>

</body>
</html>

補足日時:2011/04/05 16:32
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!