0

このフォームは、次のフォームに移動して、別のポップアップ ウィンドウを開くと想定されています。また、フォームデータを両方のページに渡すようにしています。

私が抱えている問題は、IE 以外のすべてのブラウザーでポップアップ ウィンドウが表示されることです。IE のポップアップ ブロッカーによってブロックされ続けます。ブロックされずにポップアップを表示する必要があります。

<script language="javascript">

    function myChangeHandler() {

        var form = document.getElementById('TheForm');
        form.method = 'POST';
        form.action = 'https://test.com/page1';
        form.target = 'window_1';

        window.open('', 'window_1','fullscreen=1,scrollbars=1');
        this.form.submit();

        var state_ac = document.getElementById('stateDrop');
        var state_dd = state_ac.options[state_ac.selectedIndex].value;
        window.location = 'https://test.com/page2';
    }

</script>


<form id="TheForm" action="https://test.com/page2" method="post">

    <select id="stateDrop" name="state" size="1" onchange="myChangeHandler.apply(this)">
        <option value="null" selected="selected" style="color:#b3b3b3">- Select Your State -</option>
        <option value="AL" class="others">Alabama</option>
        <option value="AK" class="others">Alaska</option>
        <option value="AZ" class="others">Arizona</option>
    </select>

    <input id="featured-image-right-button" type="image" src="<?php bloginfo('template_url'); ?>/images/featured-image-right-button.png" alt="" disabled="disabled" />

</form>

編集: ここの例を参照してください。オプションが選択されている場合、ポップアップは他のすべてのブラウザーで機能しますが、ポップアップはブロックされます。ボタンをクリックすると IE で正常に動作しますが、オプションを選択するとポップアップがブロックされますhttp://jsfiddle.net/uyeq3/

4

1 に答える 1

0

編集: Internet Explorer はポップアップからの onchange イベントをブロックします。ユーザーがボタンをクリックしたときにアクションを実行でき、ブロッカーを介したポップアップが許可されます。

<input type="button" value="Change Country" onclick="myChangeHandler();return false;"/>
于 2012-11-01T19:55:20.653 に答える