プロが教えるわが家の防犯対策術!

Javascriptのカテゴリとどちらに質問するか迷いましたが、
こちらで質問させていただきます。
ちなみにJQueryやJavascriptには慣れていません。

以下のような方法で、セレクトボックスで選択された値をcode.cgiに
引き渡し、code.cgiが返す値をalertで表示しようとしています。
セレクトボックスのIDは selectid です。
code.cgiでは、いくつかの値を : で区切って表示(返す)しています。

FirefoxやSafari、またIE7のときには動いたのですが、
IE8(Windows7と一緒にインストールされたもの)では
なぜか動きません。
原因の分かる方いらっしゃいますでしょうか。

<script type="text/javascript">
$(function(){
 $('#selectid').change(function(){
    $.get("code.cgi?code=" + $('#selectid').val(), function(data){
     var a;
     a = data.split(":");
     alert(a[0]);
    });
  });
});
</script>

A 回答 (1件)

IE8でもjQUERYは動作してます。

(全DOC宣言で全機能を試したわけではないが)
IE7からIE8へバージョンアップする時は、IE7の設定をある程度引き継ぐ
みたいだが、まっさらのWIN7+IE8のセキュリティ設定オプションの初期状態
は相当厳しいのではないかと(想像)。
IE8のセキュリティオプションを確認して、無効にされているものを
有効に変えてみては。何を有効にするかは、よくわかりませんね、
IE独自の用語が多いし....

この回答への補足

ありがとうございます。
IE8のセキュリティオプションとか変えてみましたが特に変化なしです。

$.getの行は以下に変更しました。
$.get("code.cgi",{ code: $('#selectid').val() },function(data,status){

code.cgiは呼び出されているようです。(code.cgi側でログを吐いてみました)

function(data,status){ } の中がどうやら実行されないようです。
function(data,status){ alert(status); }とかやってみると、
Firefoxでは success とアラート表示されますが、IE8ではアラート自体出ません・・・。

まだ色々試しています。何か分かる方いらっしゃいましたらよろしくお願いいたします。

補足日時:2009/11/09 20:25
    • good
    • 0
この回答へのお礼

自己解決しました。
ただ、はっきりとした原因が分かりませんでしたので、
他の方(いないかな?)の参考のためにちょっと記述しておきます。

・呼び出され側のcgiのヘッダ変更。
Content-type: text/plain;charset:euc-jp; を
Content-type: text/plain; charset:euc-jp; と、スペースを入れた。
・IE8のキャッシュのクリア。
・CCleanerを使って色々クリア。
・呼び出すcgiファイルの名称変更。
cgiを呼び出すときのURLが随時変わるようにタイムスタンプを入れた。
( code.cgi?$timestamp )

これらの何かで誤動作していたようですが、多分キャッシュに何か残って
いたんでしょうね。一つ一つ戻してみても、
今度は再現されなくなってしまったので、根本原因が分かりませんでした。

お礼日時:2009/11/09 21:38

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