2

何らかの理由で、これは FF では正常に機能しているようですが、Chrome では機能していないようです。$(window).load( function() {...}); でラップしようとしました。さらに、ページ上の他のすべての Javascript (Jquery Form Wizard プラグイン以外) を削除します。

 $('#state').change(function() {
            var state = $("#state").val();
            if (state === "CA" || state === "NV" || state === "OR" || state === "WA" || state === "AZ") {
                $("#first .ins_link_next").val("insurance_type");
                }
                else {
                $("#first .ins_link_next").val("out-of-area");

                }
    });

ページはhttp://173.45.237.55/qrf/で表示できます。

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

4

3 に答える 3

3

入力値を大文字に設定する入力要素に onKeyup ハンドラがあります。これにより、実際にイベント ハンドラーが切り離されました (Chrome の場合)。これを修正するための 1 つの解決策は、onKeyup 関数を change 関数に移動することです。

$('#statecode').change(function() {
        this.value=this.value.toUpperCase();
        var state = $("#statecode").val();
        if (state === "CA" || state === "NV" || state === "OR" || state === "WA" || state === "AZ") {
            $("#first .ins_link_next").val("insurance_type");
            }
            else {
            $("#first .ins_link_next").val("out-of-area");

            }
});

また、関数を $(document).read() 内にラップするために $(window).load() は必要ありません。

于 2011-08-19T17:45:44.490 に答える
0

関数の周囲を削除し$(window).load( function() {ます。これは、ものにのみ損傷を与える可能性があります。

「$(function(){...」がたくさんあり、原因かもしれませんが、疑わしいです。

ポイントは、スクリプトが機能することです...時々。値を削除すると、より頻繁になります。

実際。2つの#state変更ハンドラーがあります。次を探してください。

$(function() {
    $('#state').change(function() {
            $("#ins_type").val($('#ins_type')[0].defaultValue);
    });
});

それが両方の実行の問題であり、結果はランダムです。そのしつこい小さな子を削除して、楽しんでください;)

于 2011-08-19T17:05:47.563 に答える
0

Roselan は正しいです$(window).load()$(document).ready()

Chrome コンソールで、キーアップ ハンドラーを無効にすると、機能しました。toUpperCase() コードを変更ハンドラに移動したいだけかもしれません。

この jsfiddle は問題をさらに煮詰めます: http://jsfiddle.net/G3CMH/ keyup イベントでフィールド値を変更すると、変更イベントはぼかしで発生しません。

于 2011-08-19T17:34:54.570 に答える