簡単な説明:
スクリプト ファイルで処理されるクリック イベントを持つスクリプト コントロールがあります。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');
}