問題は、ブラウザや JavaScript ではなく、サーバー側のコードにあります。
IE10 で JavaScript コンソールを確認すると、リンクをクリックすると次のエラーが表示されます。
SCRIPT5009: 'ValidatorValidate' は定義されていません
関数の 2 行目を指します。
function doSearch() {
var regExValidate = document.getElementById("ctl00_BrokerSearchMiddle_ctl00_ValidPostalCode");
ValidatorValidate(regExValidate);
var postalCode = $find("ctl00_BrokerSearchMiddle_ctl00_PostalCode").get_value();
if (regExValidate.isvalid && postalCode.indexOf("e.g") == -1) {
document.location.href = "?postalCode=" + postalCode;
}
}
これは、onclick
が正常に機能していることを意味します。単に JS エラーが発生しています。
問題はValidatorValidate
、他のブラウザー (IE9 を含む) には存在するのに IE10 には存在しない理由です。IE10 では、スクリプトが定義されているスクリプトは含まれていません。つまり、サーバーは、<script src="...">
その URL を含む行をブラウザーへの出力の一部として配置しません。
サーバー側のコードがブラウザのバージョンをチェックしており、それに応じて特定のスクリプトが含まれていると推測できます。そのコードをチェックして、決して良い考えではないようなものを取り除いてください。
いくつかの調査の後、私は何が起こっているのかを見つけました。あなたは Sitefinity バージョン 3.7 を使用してサイトを構築しています (あなたのこの質問によると) 。
残念ながら、Sitefinity 3.7 は Internet Explorer 10 をサポートしておらず、Sitefinity 3.7 はこのブラウザー バージョンでは正しく動作しない可能性があることをお知らせします。ご迷惑をおかけして申し訳ございません
IE10 のサポートが必要な場合は、Sitefinity をアップグレードする必要があります。