ASP.Net 脚本控件,从 OnClick 和 FireFox 返回 False
Posted
技术标签:
【中文标题】ASP.Net 脚本控件,从 OnClick 和 FireFox 返回 False【英文标题】:ASP.Net Script Controls, Returning False from OnClick, and FireFox 【发布时间】:2010-09-25 09:09:58 【问题描述】:简短说明:
我有一个脚本控件,它在脚本文件中处理了单击事件。 Click 处理程序弹出确认提示并返回提示的值。
问题:
IE 看到返回 False(在确认框中选择了取消)并且没有回发。 Firefox 会忽略这一点并触发回发。
解决方案?:
我读到如果我以老式的方式做这件事,我需要:
onClick="return SomeMethod();"
在标记中。希望有一种方法可以使用脚本控件来做到这一点?
示例:
这是我在脚本文件中的内容:
//THIS IS THE METHOD CLICK CALLS
handleLnkDeleteButtonClick: function(e)
var confirmed = confirm('This will delete the current Message category and move all messages to the Oprhan cataegory. Continue?');
return confirmed;
,
initialize: function()
this._lnkDeleteButton = $get(this._lnkDeleteButtonID);
this._lnkDeleteButton.idpicker = this;
//HOOK BEGINS HERE
this._lnkDeleteButtonClick = Function.createDelegate(this, this.handleLnkDeleteButtonClick);
$addHandler(this._lnkDeleteButton, "click", this._lnkDeleteButtonClick);
//END HOOK HERE
NDI.WebControls.Client.PersonalMessageTypePicker.callBaseMethod(this, 'initialize');
,
dispose: function()
$removeHandler(this._lnkDeleteButton, "click", this._lnkDeleteButtonClick);
NDI.WebControls.Client.PersonalMessageTypePicker.callBaseMethod(this, 'dispose');
【问题讨论】:
【参考方案1】:好吧,在尝试为谷歌正确表述事情的时间太多后,我自己解决了这个问题。原来有一个方法可以调用,这样你就不必担心返回 true 或 false。
handleLnkDeleteButtonClick: function(e)
var confirmed = confirm('This will delete the currery Message category and move all messages to the Oprhan cataegory. Allow?');
if (!confirmed)
e.preventDefault();
,
所以我不必返回确认,只需检查它的值并调用 e.preventDefault 方法来阻止点击触发。
【讨论】:
以上是关于ASP.Net 脚本控件,从 OnClick 和 FireFox 返回 False的主要内容,如果未能解决你的问题,请参考以下文章