views:

185

answers:

2

Hi,

Onchange of select option I am confirming the user whether to save or not the changes. If user selects OK , I am submitting the form automatically.ie. onchange="if(confirm('Save?')){this.form.gridedit.click();} ". When user selects cancel it is populating the recently selected option. My problem is I have to populate the old value if user selects Cancel option from that confirmation message. Please help in this issue any one. Thanks

A: 

Try this, don't think you can accomplish it without some manual work.

<script type="text/javascript">
var ddHelper = {
    previousIdx: null,
    store: function(e, dd) {
        this.previousIdx = dd.selectedIndex;
    },
    confirm: function(e, dd) {
        if(!window.confirm('Save?')) {
            window.setTimeout(function() { // Think you need setTimeout for some browsers
                dd.selectedIndex = ddHelper.previousIdx;
            }, 0);
        }
    }
};
</script>
<select onfocus="ddHelper.store(event, this)" onchange="ddHelper.confirm(event, this">
</select>
einarq
Hi,Thanks for your quick reply.I tried ur script. But stil populating the recent selected value only and not the old one.so i just redirect to the same page, if user selects cancel button, onchange="if(confirm('Save?')){this.form.gridedit.click();} else { location.href='cli_client.php?a=reset'}" like this
Krishna Priya
A: 

If the input values come from any Database, load those again in the field when user press cancel.

Hoque