Подтвердите сохранение во время изменения раскрывающегося списка

При изменении опции выбора я подтверждаю пользователю, сохранять изменения или нет. Если пользователь выбирает OK , я отправляю форму автоматически, т.е. onchange="if(confirm('Сохранить?')){this.form.gridedit.click();} ". Когда пользователь выбирает отмену, он заполняет недавно выбранную опцию. Моя проблема в том, что я должен заполнить старое значение, если пользователь выбирает опцию «Отмена» из этого подтверждающего сообщения. Помогите пожалуйста в этом вопросе кто нибудь. Спасибо


person Krishna Priya    schedule 25.01.2010    source источник
comment
Вы пытались вернуть false в условии else в вашей функции onchange?   -  person tfwright    schedule 25.01.2010


Ответы (2)


Попробуйте это, не думайте, что вы можете сделать это без ручной работы.

<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>
person einarq    schedule 25.01.2010
comment
Привет. Спасибо за быстрый ответ. Я попробовал ваш скрипт. Но по-прежнему заполняет только последнее выбранное значение, а не старое. поэтому я просто перенаправляюсь на ту же страницу, если пользователь выбирает кнопку отмены, onchange=if(confirm('Save?')){this.form.gridedit.click();} else {location.href='cli_client.php? a=reset'} вот так - person Krishna Priya; 25.01.2010

Если входные значения поступают из какой-либо базы данных, загрузите их снова в поле, когда пользователь нажмет кнопку отмены.

person Nazmul    schedule 25.01.2010