在下拉菜单更改期间确认保存

Posted

技术标签:

【中文标题】在下拉菜单更改期间确认保存【英文标题】: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? 【参考方案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】:

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

【讨论】:

以上是关于在下拉菜单更改期间确认保存的主要内容,如果未能解决你的问题,请参考以下文章

第一个下拉菜单更改第二个下拉菜单相关项目显示

Bootstrap 3下拉菜单在子菜单焦点上更改背景

为啥我的第二个下拉菜单是复制我的第一个下拉菜单的更改操作

验证下拉菜单的当前选择

第一个下拉菜单自动更改第二个下拉菜单的选项

如何进行活动菜单文本颜色更改导航下拉项子菜单? [复制]