Для этой конкретной проблемы причина в том, что javascript, сгенерированный
ASP.NET 2.0 имеет некоторые обозначения только для IE: event.srcElement не доступен в
FireFox (используйте event.target вместо этого):
function WebForm_FireDefaultButton(event, target) {
if (!__defaultFired && event.keyCode == 13 && !(event.srcElement &&
(event.srcElement.tagName.toLowerCase() == "textarea"))) {
var defaultButton;
if (__nonMSDOMBrowser) {
defaultButton = document.getElementById(target);
}
else {
defaultButton = document.all[target];
}
if (defaultButton && typeof(defaultButton.click) !=
"undefined") {
__defaultFired = true;
defaultButton.click();
event.cancelBubble = true;
if (event.stopPropagation) event.stopPropagation();
return false;
}
}
return true;
}
Если мы изменим первые 2 строки на:
function WebForm_FireDefaultButton(event, target) {
var element = event.target || event.srcElement;
if (!__defaultFired && event.keyCode == 13 && !(element &&
(element.tagName.toLowerCase() == "textarea"))) {
Поместите измененный код в файл, а затем выполните
protected void Page_Load(object sender, EventArgs e)
{
ClientScript.RegisterClientScriptInclude("js1", "JScript.js");
}
Тогда это будет работать как для IE, так и для FireFox.
Источник:
http://www.velocityreviews.com/forums/t367383-formdefaultbutton-behaves-incorrectly.html