我有一个 Sharepoint 列表,我想在其中使用 Javascript 自定义 editForm.aspx 页面。
问题是我无法向该页面中的控件添加任何事件。我可以使用以下代码获得对我的控件的引用:
var textarea1;
var objForm = document.forms[0];
function FindField() {
var title;
title= $().SPServices.SPGetDisplayFromStatic({ listName: "MyList", columnStaticName: "mycolumn" });
textarea1 = ChooseFieldByTitle("TextField", title);
}
function ChooseFieldByTitle(TypeField, title) {
var elem;
for (idx = 0; idx < objForm.elements.length; idx++) {
elem = objForm.elements[idx];
if (elem.id.indexOf(TypeField) != -1 &&
elem.title == title) {
return elem;
}
}
return null;
};
这运行良好,但我无法在此控件上附加任何事件。我尝试了以下代码(字段是 textArea):
Field.attachEvent("onchange", myFunction);
Field.addEventListener("onchange", myFunction, false);
Field.onchange = myFunction() {};
当我更改 textArea 的内容时,什么也没有发生。当我使用 IE 开发人员工具进行调试时,永远不会调用“myFunction”。我究竟做错了什么?我查看了 SPServices JQuery 库,但似乎与 Javascript 事件无关。
有人有线索吗?