javascript - 如何在 PreSaveAction 中实现多个 SharePoint 表单验证

标签 javascript jquery sharepoint

所以首先,除了我在网络上找到的内容之外,我对 Javascript 一无所知。

我有一个 SharePoint 表单,并且尝试在用户按“保存”时实现特定验证。

这些是:

  1. 表单中的两个特定字段不能具有相同的值。
  2. 下拉列表值(这是一个查找列)不能显示“从列表中选择”,这是默认选项。

已经有一个 PreSaveAction 可以防止在没有附加文档的情况下保存它,效果非常好。

但是,当我尝试在 PreSaveAction 下添加附加验证之一(同样基于我在网上找到的内容)时,它们都不起作用。

我有表单元素名称,但似乎无法让它工作。

根据评论进行编辑:我尝试的最新代码是:

<script type="text/javascript" language="javascript">

function PreSaveAction() {
if (document.getElementById('idAttachmentsRow').style.display=='none' )
 {
 alert('Please attach supporting documents.');
 return false ;
}
else {  return true;  }
}

   {
     if($("select[title='Vendor & Co Code'] option:selected").val() == '~Select Vendor from List')
     {
        alert("Please select vendor.")
        return false;
     }
    else
    {
    return true;
    }

  }

文档附件部分可以单独工作,但是当我添加后者时,两者都不起作用。

最佳答案

你的函数并不是不正确。

尝试下面的脚本。

<script type="text/javascript">
        function PreSaveAction() {
            if (document.getElementById('idAttachmentsRow').style.display=='none' )
            {
                alert('Please attach supporting documents.');
                return false ;
            }
            if ($("select[title='Vendor & Co Code'] option:selected").val() == '~Select Vendor from List') {
                alert("Please select vendor.")
                return false;
            }
            else {
                return true;
            }
        }
    </script>

关于javascript - 如何在 PreSaveAction 中实现多个 SharePoint 表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55855100/

相关文章:

javascript - jQuery on() 不适用于已添加的 DOM 项

javascript - 转换JSON的算法

javascript - 如何在 Android 移动设备上运行通用 Windows 平台桌面应用程序?

javascript - jquery固定位置 block ,切换到静态某个点

javascript - typescript "Immutable.Map<K, T> as Object"

javascript - 在可滚动的固定定位元素上滚动时如何在标题上添加/删除类?

c# - 在网格中显示货币符号

css - 哪些 CSS 框架适用于 SharePoint 发布网站?

javascript - 用 javascript 替换 ÅÄÖ(大写和小写)

php - 创建发票(php)