尝试确定“ document.getElementById”中引用了哪个字段

时间:2019-02-12 20:28:08

标签: javascript sharepoint

将SharePoint网站从本地2013迁移到SharePoint Online。在迁移后无法运行的页面上运行。关键是我无法弄清楚现有代码中document.GetElementByID命令中引用了哪个列表列

我知道如何确定字段的内部名称,而不是实际ID。

function PreSaveAction(){

disposition = document.getElementById("ctl00_ctl32_g_6b054a37_d068_47a5_930e_0789f69b5ab1_ff51_ctl00_DropDownChoice");
if (disposition.options[disposition.selectedIndex].value != "Withdrawn"){
    disposition.options[disposition.selectedIndex].selected = "";
}
for (i=0;i<disposition.options.length;i++){
    if (disposition.options[i].value == "Withdrawn"){
        disposition.options[i].selected = "selected";
    }
}
return true;

}

看来,如果我确定以上在getElementByID中引用的列表列,则需要在目标列表/站点中为列表列找到相同的ID。然后,我将更新代码以使用该ID。

在确定列表列的ID方面有些迷茫。

预先感谢您的任何建议。

1 个答案:

答案 0 :(得分:0)

JS有两种获取元素引用的方法,document.GetElementByID("el_id")document.GetElementByName("el_name")。您的标签看起来像<select id="mySelect"><select name="mySelect">

在主页和所有随附的脚本文件中搜索ID。如果找不到它,则有两种可能,id是由开发工具或SharePoint自动生成的,不再匹配,或者所有内容都相同,并且页面在旧环境中无法正常工作经常是这种情况。

作为开发人员,您必须记住,每个人都在撒谎,但是计算机完全按照代码中的指示进行:-)