【问题标题】:Confirm Save during onchange of drop down在下拉菜单更改期间确认保存
【发布时间】:2010-01-25 06:57:00
【问题描述】:

选择选项的 Onchange 我正在确认用户是否保存更改。如果用户选择 OK ,我将自动提交表单。即。 onchange="if(confirm('Save?')){this.form.gridedit.click();} "。当用户选择取消时,它会填充最近选择的选项。我的问题是,如果用户从该确认消息中选择取消选项,我必须填充旧值。请任何人帮助解决这个问题。 谢谢

【问题讨论】:

  • 您是否尝试过在 onchange 函数的 else 条件下返回 false?

标签: javascript save confirm


【解决方案1】:

试试这个吧,别以为没有一些手工就可以完成。

<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>

【讨论】:

  • 您好,感谢您的快速回复。我尝试了您的脚本。但仍然只填充最近选择的值,而不是旧值。所以我只是重定向到同一页面,如果用户选择取消按钮, onchange="if(confirm('Save?')){this.form.gridedit.click();} else { location.href='cli_client.php ?a=reset'}" 像这样
【解决方案2】:

如果输入值来自任何数据库,当用户按下取消时,在字段中再次加载这些值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-27
    • 1970-01-01
    • 1970-01-01
    • 2020-03-29
    • 2018-03-02
    • 1970-01-01
    • 2015-08-27
    相关资源
    最近更新 更多