0

Asp.Net ユーザー コントロールにアンカーがあります。onclick イベントにいくつかのコードを配線しました。Internet Explorer 10 で何らかの理由で、イベントが発生しません。マークアップは次のように構成されています

<a href="#" id="myAnchor" onclick="myFunction();return false;"></a> 

ここで、myFunction は単純な JavaScript 関数です。ページの動作を確認したい方は、次のリンクを参照してください。

http://alt.thedominion.ca/TheBrokerAdvantage/LocateABroker.aspx

どんな助けでも大歓迎です!

4

2 に答える 2

1

問題は、ブラウザや 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 をアップグレードする必要があります。

于 2013-04-22T14:44:14.690 に答える
1

以下のコードは、すべての主要なブラウザーで動作します (IE10、IE9、Chrome 26.0.1410.64、および最新の firefox リリースでテストしました)。

<a href="#" id="myAnchor" onclick="myFunction();return false;">click me</a> 

<script type="text/javascript">
function myFunction(){
    alert("Anchor was clicked");
}
</script>

つまり、構文は問題ありませんが、CSS を使用して幅と高さを強制しない限り、アンカー タグは内部テキストなしでは表示されません。

CSS オプション:

a{
    display: block;
    width: 100px;
    height: 20px;
}

実際の CSS の例

于 2013-04-22T14:24:02.640 に答える