[英]Sharepoint JScript if statement not executing
我有一个JavaScript,用于SharePoint网站可以根据下拉框中的值显示和隐藏字段。 我的第二个If语句工作正常,但由于某种原因,第一个不起作用。 谁能看到我是否缺少一个简单的语法错误。 花了两天时间,我认为换一组新的眼睛会有所帮助。
$(document).ready(function () {
// Get a single select dropdown field
var SubTypeField = SPUtility.GetSPField('Sub Type');
var IssueTypeField = SPUtility.GetSPField('Issue Type');
// create a function to show or hide Field based on Drop Down values value
var showOrHideField = function() {
var SubTypeFieldValue = SubTypeField.GetValue();
var IssueFieldValue = IssueTypeField.GetValue();
// Hide the field if the selected value is Ergonomic
if (SubTypeFieldValue === 'Ergonomic'){
SPUtility.HideSPField('Other Description');
}
else {
SPUtility.ShowSPField('Other Description');
}
if(IssueFieldValue === 'Incident'|| IssueFieldValue === 'Close Call'|| IssueFieldValue === 'Observation') {
SPUtility.HideSPField('Type of injury sustained');
SPUtility.HideSPField('Cause of lost time/injury or first aid');
SPUtility.HideSPField('Was medical treatment necessary');
SPUtility.GetSPField('Type of injury sustained').SetValue('');
SPUtility.GetSPField('Cause of lost time/injury or first aid').SetValue('');
SPUtility.GetSPField('Was medical treatment necessary').SetValue('No');
}
else {
SPUtility.ShowSPField('Type of injury sustained');
SPUtility.ShowSPField('Cause of lost time/injury or first aid');
SPUtility.ShowSPField('Was medical treatment necessary');
}
};
// run at startup (for edit form)
showOrHideField();
// make sure if the user changes the value we handle it
$(IssueTypeField.Dropdown).on('change', showOrHideField);
$(SubTypeField.Dropdown).on('change', showOrHideField);
});
您是否尝试记录要隐藏的字段的值?
使用console.log()
记录值。 而且字段名称似乎很奇怪...我通常使用jQuery,而不是SPUtility。
确保检查SubTypeField和IssueTypeField是否正确初始化。 也许有助于将声明移入如下所示的init函数中:
$(document).ready(function () {
// Get a single select dropdown field
var SubTypeField;
var IssueTypeField;
_spBodyOnLoadFunctionNames.push(init);
});
function init() {
SubTypeField = SPUtility.GetSPField('Sub Type');
IssueTypeField = SPUtility.GetSPField('Issue Type');
}
这个问题与我的代码无关。 在SharePoint中,您必须引用文档库中的文件。 出于测试原因,我将工作名称重命名为可以与我创建的新文件一起播放,该文件列在问题中。 SharePoint自动为您重命名文件引用。 因此,我一直在更新文件,以为我的代码错误,而我只需要更改引用以指向新文件。 有关我的解释的任何问题都会让我知道,因为这可能会帮助其他人
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.