Test onchange from popup

by freedawirl

HTML

<form name="form1">
    <select name="select1" id="select1" onchange="alert(this.value)">
        <option value="Please select (1)">Please select</option>
        <option value="Option 1 (1)">One</option>
    </select>
    <select name="select2" id="select2">
        <option value="Please select (2)">Please select</option>
        <option value="Option 1 (2)">One</option>
    </select>
    <select name="select3" id="select3">
        <option value="Please select (3)">Please select</option>
        <option value="Option 1 (2)">One</option>
    </select>
    <button id="but">Click to pop</button>
</form>

JavaScript

function eventTrigger(element) {
    if ("createEvent" in document) {
        var evt = document.createEvent("HTMLEvents");
        evt.initEvent("change", false, true);
        element.dispatchEvent(evt);
    } else element.fireEvent("onchange");
}
window.onload = function () {
    document.getElementById("select2").onchange = function () {
        alert(this.value);
    }
    var sel3 = document.getElementById("select3");
    if (sel3.addEventListener) {
        sel3.addEventListener('change', function () {
            alert(this.value + " from eventListener")
        }, false);
    } else if (sel3.attachEvent) {
        sel3.attachEvent('change', function () {
            alert(this.value + " from attachEvent")
        });
    }

    document.getElementById("but").onclick = function () {
        var w = window.open("", "popup", "height=100,width=100");
        w.document.write('<button onclick="opener.document.form1.select1.onchange();">Change 1</button>' +
            '<button onclick="opener.document.form1.select2.onchange();">Change 2</button>' +
            '<button onclick="opener.eventTrigger(opener.document.form1.select3)">Change 3</button>');
        w.document.close();
    }
}