- 变量
options.eventTarget
从何而来? - 如果它是由 ASP.NET 代码生成的,如何为 Mozilla 修复此功能?
- 这个 JavaScript 函数是做什么用的?
options.eventTarget
Mozilla Firefox在调用锚标记时在此函数结束时获取此值。保存(锚标记)按钮在 Mozilla 中不起作用,所以我试图找出原因。
ExplorerPageHtmlLeft$ct...aveCancelDelete$LBuSave <===== problem
options.eventTarget
Internet Explorer在调用锚标记时在此函数的末尾获取此值。保存(锚标记)按钮在 Internet Explorer 中运行良好。
ExplorerPageHtmlLeft$ctl02$ctl00$SaveCancelDelete$LBuSave
这是展开的代码,因此易于阅读
Mozilla Firefox 保存按钮(损坏):
<a
id="ExplorerPageHtmlLeft_ctl02_ctl00_SaveCancelDelete_LBuSave"
href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ExplorerPageHtmlLeft$ctl02$ctl00$SaveCancelDelete$LBuSave", "", true, "", "", false, true))"
onclick="javascript:encryptField(document.getElementById('ExplorerPageHtmlLeft_ctl02_ctl00_SaveCancelDelete_TxtPassword'),document.getElementById('IHHidden'));"
>
<img border="0" alt="Save" src="/images/save.gif">
</a>
Internet Explorer 保存按钮(工作正常):
<a
onclick="javascript:encryptField(document.getElementById('ExplorerPageHtmlLeft_ctl02_ctl00_SaveCancelDelete_TxtPassword'),document.getElementById('IHHidden'));"
id="ExplorerPageHtmlLeft_ctl02_ctl00_SaveCancelDelete_LBuSave"
href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ExplorerPageHtmlLeft$ctl02$ctl00$SaveCancelDelete$LBuSave", "", true, "", "", false, true))"
>
<img src="/images/save.gif" border="0" alt="Save">
</a>
这是 JavaScript 函数:
function WebForm_DoPostBackWithOptions(options) {
var validationResult = true;
if (options.validation) {
if (typeof(Page_ClientValidate) == 'function') {
validationResult = Page_ClientValidate(options.validationGroup);
}
}
if (validationResult) {
if ((typeof(options.actionUrl) != "undefined") && (options.actionUrl != null) && (options.actionUrl.length > 0)) {
theForm.action = options.actionUrl;
}
if (options.trackFocus) {
var lastFocus = theForm.elements["__LASTFOCUS"];
if ((typeof(lastFocus) != "undefined") && (lastFocus != null)) {
if (typeof(document.activeElement) == "undefined") {
lastFocus.value = options.eventTarget;
}
else {
var active = document.activeElement;
if ((typeof(active) != "undefined") && (active != null)) {
if ((typeof(active.id) != "undefined") && (active.id != null) && (active.id.length > 0)) {
lastFocus.value = active.id;
}
else if (typeof(active.name) != "undefined") {
lastFocus.value = active.name;
}
}
}
}
}
}
if (options.clientSubmit) {
__doPostBack(**options.eventTarget**, options.eventArgument);
}
}