Rules with Readonly Checkboxes

Home Forums Classic DFFS Rules with Readonly Checkboxes

Viewing 7 reply threads
  • Author
    Posts
    • #8255
      DCH
      Participant

        Alexander,

        I wrote a rule that made a checkbox field readonly. I assumed it would leave the checkbox selections visible and just disable them so they could not be checked or unchecked. But instead the whole field disappeared. Is that how it is supposed to work?

        And a related question, is it possible through DFFS rules to make specific checkbox choices readonly, but leave others available, within the same column?

        Thanks!

      • #8265
        Alexander Bautz
        Keymaster

          Using a readonly representation of a checkbox field makes sense, I have therefore added this to the upcoming release.

          Your other request will however not be added as default functionality, but you can add this custom code to achieve it.

          Add this to the “Run these functions / trigger these rules” in the rule:

          readonlyCheckbox

          Then add this to the Custom JS textarea in the “Field table, Custom JS and CSS” tab:

          function readonlyCheckbox(){
          	spjs.$("#dffs_Color").find("input:checkbox").each(function(i,c){
          		if(spjs.$(c).next().text() === "Blue"){
          			spjs.$(c).prop("disabled",true);
          		}
          	});
          }

          Change “Color” to your field internal name and “Blue” to the option you want to set as readonly.

          Alexander

        • #24485
          Andreas Blüher
          Participant

            Hello Alexander,

            I found this thread because I stumbled up on the same issue. Although using a quiet new version checkboxes are still being removed instead of being disabled.

            Is it still required to use the script or should it be included in the latest release?

            Kind Regards,
            Andreas

          • #24490
            Alexander Bautz
            Keymaster

              Hi,
              This was added back in 2015 – can you show me some screenshots so I can see how it looks in your form?

              PS: If it is in DispForm, you will have to use a custom script like this:

              function showCheckboxesInDispForm(fin) {
                  jQuery.ajax({
                      "url": _spPageContextInfo.webServerRelativeUrl + "/_api/web/lists/getbyid('" + _spPageContextInfo.pageListId + "')/fields/getByInternalNameOrTitle('" + fin + "')",
                      "method": "GET",
                      "headers": { "Accept": "application/json; odata=verbose" },
                      "success": function (data) {
                          var arr = data.d.Choices.results, b = [], currentChoicesArr = getFieldValue(fin).split("; ");
                          jQuery.each(arr, function (i, c) {
                              var checked = jQuery.inArray(c, currentChoicesArr) > -1;
                              b.push("<span class='ms-RadioText' title='" + c + "'><input type='checkbox'" + (checked ? " checked='checked'" : "") + " disabled><label>" + c + "</label></span>");
                          });
                          jQuery("#dffs_" + fin + " td.ms-formbody").html(b.join("<br>"));
                      },
                      "error": function (data) {
                          console.log("Error getting field choices:");
                          console.log(data);
                      }
                  });
              }
              showCheckboxesInDispForm("ToDo"); // Call with the FieldInternalName of the field

              Alexander

            • #24515
              Andreas Blüher
              Participant

                I wasn’t honest about the “almost latest version”. I’m using

                DFFS frontend: 4.4.3.47
                DFFS frontend CSS: 4.44 /
                Autocomplete: 1.6.22
                Cascading dropdowns: 3.7.22
                jQuery: 1.12.4
                Lookup: 1.1.11
                Resource management: not loaded
                SPJS-Utility: 1.323
                vLookup: 2.2.122

                So as you can see the checkbox is visible in my EditForm and after setting the boolean field to be readonly the checkbox is set to display:none;

                I’m sorry if I’m missing something obvious here.

                Cheers Andreas

              • #24525
                Alexander Bautz
                Keymaster

                  The problem is that the readonly checkbox icon is the same color as you have chosen as form background color. You must override the default color by adding this to your custom css:

                  .dffs-readonly-inner *{
                      color:#000000!important;
                  }

                  Alexander

                • #24533
                  Andreas Blüher
                  Participant

                    Thank you for your help, I feel stupid but it was very unfortunate that my customer did choose the same color for their background :O

                  • #24535
                    Alexander Bautz
                    Keymaster

                      No problem, I’m glad we figured it out.

                      Alexander

                  Viewing 7 reply threads
                  • You must be logged in to reply to this topic.