在下拉菜单更改期间确认保存
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】:如果输入值来自任何数据库,当用户按下取消时,在字段中再次加载这些值。
【讨论】:
以上是关于在下拉菜单更改期间确认保存的主要内容,如果未能解决你的问题,请参考以下文章