【问题标题】:Sharepoint 2013 on premise NewForm on list javascript logic not triggeringSharepoint 2013 本地 NewForm 列表 javascript 逻辑未触发
【发布时间】:2021-01-01 04:28:37
【问题描述】:

Screen shot linkok 所以我有一些我认为是正确的代码,但由于某种原因它没有被触发,我需要的是禁用保存按钮,直到所有 5 个问题都被勾选并且 = true 但对于出于某种原因,此时没有任何反应,因为当表单加载时保存按钮没有被禁用,我可以提交一个没有勾选这些的表单,它们都是复选框。我已尝试将此文本添加到 CEWP 和 SEWP,但什么也没有

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js" type="text/javascript"></script>
 
<script language="javascript">
 
$(document).ready(function(){
 //Disable the "Save" button initially
    var Checkbox1 = $("input[title='Question A']").attr('disabled', true);
    var Checkbox2 = $("input[title='Question B']").attr('disabled', true);
    var Checkbox3 = $("input[title='Question C']").attr('disabled', true);
    var Checkbox4 = $("input[title='Question D']").attr('disabled', true);
    var Checkbox5 = $("input[title='Question E']").attr('disabled', true);
 
 
 //Enable-Disable "Save" button based on "I Agree" checkbox value!
   var Checkbox1 = $("input[title='Question A']").click(function()
   var Checkbox2 = $("input[title='Question B']").click(function()
   var Checkbox3 = $("input[title='Question C']").click(function()
   var Checkbox4 = $("input[title='Question D']").click(function()
   var Checkbox5 = $("input[title='Question E']").click(function()(
        if(this.checked)
           {
            $("input[value$='Save']").attr('disabled', false);
           }      
        else
           {
            $("input[value$='Save']").attr('disabled', true);  
           }
     }); 
 
  });
 
</script>

【问题讨论】:

  • jquery 加载了吗?尝试添加警报或控制台消息来检查这一点。
  • 在 chrome 中查看后,我的公司似乎已阻止它,不知道如何绕过此页面顶部的屏幕截图链接
  • 您可以在站点资产中添加脚本文件以避免通过cdn加载它。或者,您可以尝试通过安全的https cdn 加载脚本。您是否尝试将源更改为https://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js(添加“s”)?
  • 我尝试将脚本文件添加到站点资产,然后使用 CEWP 中的链接,还尝试按照建议将 https 添加到链接中,但看起来它根本没有被触发
  • 好的,现在可以在表单加载时禁用保存按钮,但现在当我勾选所需的框时,由于某种原因它没有启用保存按钮

标签: javascript jquery list validation sharepoint-2013


【解决方案1】:

你的代码有语法错误,很多括号,大括号丢失。我不确定逻辑是否正确。我先纠正语法错误。你可以试试看。

<script language="javascript">

  $(document).ready(function () {
    //Disable the "Save" button initially
    var Checkbox1 = $("input[title='Question A']").attr('disabled', true);
    var Checkbox2 = $("input[title='Question B']").attr('disabled', true);
    var Checkbox3 = $("input[title='Question C']").attr('disabled', true);
    var Checkbox4 = $("input[title='Question D']").attr('disabled', true);
    var Checkbox5 = $("input[title='Question E']").attr('disabled', true);


    //Enable-Disable "Save" button based on "I Agree" checkbox value!
    var Checkbox1 = $("input[title='Question A']").click(function () {
      var Checkbox2 = $("input[title='Question B']").click(function () {
        var Checkbox3 = $("input[title='Question C']").click(function () {
          var Checkbox4 = $("input[title='Question D']").click(function () {
            var Checkbox5 = $("input[title='Question E']").click(function () {
              if (this.checked) {
                $("input[value$='Save']").attr('disabled', false);
              }
              else {
                $("input[value$='Save']").attr('disabled', true);
              }
            })
          })
        })
      })

    })
  }); 
</script>

【讨论】:

    猜你喜欢
    • 2016-07-29
    • 1970-01-01
    • 2012-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多