You are viewing limited content. For full access, please sign in.

Question

Question

"Input Blocked" message keeps hidden field from accepting data

asked on May 6, 2021 Show version history

This is a first for me. 

I have a table field that has dates in a drop down. On a change to that field two other columns get populated with the reformatted dates. Those columns are hidden with jQuery not Field Rules.

 

How the columns are hidden:

//on load hide the .RecDtReformat column
  $('.uploadNewDocsTbl td:nth-child(5), .uploadNewDocsTbl td:nth-child(6)').css('display', 'none');
  $('.uploadNewDocsTbl th:nth-child(5), .uploadNewDocsTbl th:nth-child(6)').css('display', 'none');
  
//on click add new row, hide new .RecDtReformat column
  $('.uploadNewDocsTbl .cf-table-add-row').on('click', function(){
    $('.uploadNewDocsTbl .RecDtReformat, .uploadNewDocsTbl .recDayMo').each(function(){
    	$(this).css('display', 'none');	
    });	
  });

When it was just one column getting populated it was fine, but when I added the second both columns started showing an unfriendly message in the html:

here it is so it pings on a text search:

<td data-col="q68" data-title="RecDt Reformat" class="RecDtReformat" style="display: none;"><label class="cf-col-label" id="FieldLabel68(1)" for="Field68(1)">RecDt Reformat<span class="screen-reader-legend">field type single line</span></label><div class="cf-field"><input type="text" id="Field68(1)" name="Field68(1)" aria-labelledby="FieldLabel68(1)" class="singleline cf-xlarge" maxlength="4000" data-list-focus="true" data-parsley-legal-character="True" vo="e"><p class="screen-reader-legend">Input blocked. Maximum character limit of 4000 characters reached.</p></div></td>

this is a little easier to read:

 

The 'Input blocked' message appears on page load, not after my jQuery runs to populate the other 2 columns.

Here is that:

//reformat date into next column
  $('.uploadNewDocsTbl').on('change', '.upDocsTblRecDt', function() {
    var toDt = new Date($(this).find('option:selected').text());

	var formatYr = toDt.getFullYear();
    var mo = toDt.getMonth()+1;
    var formatMo = new function(){
      	if (mo < 10){
      	(mo = '0' + mo)}
  		};//function
	var day = toDt.getDate();
    var formatDay = new function(){
      	if (day < 10){
      	(day = '0' + day)}
  		};//function
	var newFormat = formatYr + '-' + mo + '-' + day;

    //format for dd-MM
    const months = ["JAN", "FEB", "MAR","APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"];
	let dayMo = day + "-" + months[toDt.getMonth()]; 

    $('.uploadNewDocsTbl p.screen-reader-legend').each(function(){
    	$(this).remove();    
    });
    
	//write reformatted date to RecDt Reformat column    
    $(this).closest('tr').find('td:eq(5) input').val(newFormat).change();
    //write reformatted date to Rec Dt-Mo column
	$(this).closest('tr').find('td:eq(6) input').val(dayMo).change();

  }); 

I really couldn't find much on the internet, so I am bringing it up here. 

My workaround was to remove the <p> element containing the message on change of the above 'Receipt Date' drop-down field. With that, the reformatted dates appear as variable when the form is submitted. This is more of a workaround than a solution on an error message I don't understand.

Anyone ever see something like this before?

Thank you in advance

 

0 0

Replies

replied on May 6, 2021

I don't know if that message is anything to worry about. I created a test form with no JavaScript and no Lookups and a single line field still had that message.

It's not the same as a parsley error that would prevent submission; based on the class, it looks like it's just for screen readers and it is not visible by default.

1 0
replied on May 6, 2021

Although that is true, if I leave it there my data does not save as a variable. When it is gone, data saves and life is good. Maybe one day someone will add some more details to this thread. Life goes on....

0 0
replied on May 6, 2021

That's really odd. It seems like there may be another factor involved. I have those same elements on my forms and I haven't had an issue with values not saving.

I'll keep an eye on it and post an update here if I ever run into the same issue or find anything worth noting.

1 0
replied on May 6, 2021

Thanks Jason!  

0 0
replied on May 7, 2021

After further testing I discovered that since I had an 'upload' field in a preceding column it was throwing off my jQuery for populating the desired fields. I moved the upload field after the fields being populated and it is working fine. I could even use Field Rules to hide the columns rather than jQuery. 

0 0
replied on May 7, 2021 Show version history

Glad you found the issue! Using indexing to target fields can be touchy, especially when you have lookups since it seems to add hidden input fields for those as well.

1 0
replied on August 4, 2021

Wondering if anyone has more insight on this one?

We have a form that doesn't get submitted, it's just used as a search page so the submit button stays hidden and variables obviously aren't stored anywhere. We are doing some fancy JS to a results table which is populated from a lookup rule - I'm assuming this is the culprit but I'm just unsure how I can prevent it. Eventually, we will be using this form to generate a spreadsheet containing the resulting rows but in the meantime, one of my end users wanted to just copy/paste the rows to Excel. I'm concerned that this 'Input blocked. Maximum character limit of 4000 characters reached.' error is going to cause issues once I am able to develop the process further and I was hoping to figure out how to prevent it so that the copy/paste workaround could be more effective.

function resultsTableStuff(){

  $(document).on("lookupcomplete", function(event){
    
    $(".tblResults tbody tr").each(function(){
      
      $(this).find("td.permitType").removeClass('noVal');
      $(this).find("td.colAssignedName").removeClass('noVal');
      
      var permitTypeVal = $(this).find("td.permitType").find("input").val();     
      if (permitTypeVal == ""){ 
        $(this).find("td.permitType").find("input").val("None Selected").trigger('change');
        $(this).find("td.permitType").addClass('noVal');
      }
      else if (permitTypeVal == "None Selected") {
        $(this).find("td.permitType").addClass('noVal');
      }
      
      var reviewer = $(this).find("td.colAssignedUser").find("input").val();     
      if (reviewer == ""){ 
        $(this).find("td.colAssignedName").find("input").val("None Selected").trigger('change');
        $(this).find("td.colAssignedName").addClass('noVal');
      }
      
      var parc = $(this).find("td.parcelNumber").find("input").val();
      var addr = $(this).find("td.situs").find("input").val();
      if (addr == ""){
        $(this).find("td.situs").find("input").val('Parcel: ' + parc);
      }
      
      $(this).find("input[readonly='True'], textarea[readonly='True'], input.hasDatepicker[readonly='True']").each(function(){
        ToggleInputVisibility($(this), false);
      });
    
      //App info
      var projectId = $(this).find("td.projectId").find("input").val();
      var projectNumber = $(this).find("td.projectNumber").find("input").val();
      var appLink = "<a target='_blank' class='projLkp' href='" + appDetailsLkp + "?projectID=" + projectId + "&amp;projectNumber=" + projectNumber + "'>" + projectId + "-" + projectNumber + "</a>";
    
      $(this).find("td.projectId").find(".cf-field").find(".fieldVal").remove();
      $(this).find("td.projectId").find(".cf-field").find("a").remove();
      $(this).find("td.projectId").find(".cf-field").append(appLink);
    
    });  
  });  
}

 

2021-08-04_12-36-19.png
2021-08-04_12-52-28.png
1 0
replied on August 4, 2021

@████████ The "input blocked" error message shouldn't have any impact on your JavaScript functionality because it isn't actually an error; it's almost certainly just a hidden page element that can be used by a screen reader if/when someone tries to exceed the input limit.

For example, if you set a Single Line field with a max of 10 characters, the message will update to match the custom limit you set. Then, if you inspect the page, you'll see it update with a class of "maxReached" once you hit 10 characters.

If you continue trying to type after that, you'll see a role="alert" attribute get added to the element; it only seems to exist as a way to notify people using screen readers when they've hit the input limit for a field since they would not necessarily see the field stop accepting additional input.

2 0
replied on August 4, 2021

Thanks @████████

1 0
replied on September 5, 2023 Show version history

@Jason Smith,

So, we are having the same issue with these messages printing on the form at time of "Save to Repository" task in the repository and the attached file that goes in the email (PDF) to the customer when the form was completed.  These messages are printing on most all of our fields.  Here is what changed on our end. We are currently on Forms professional ver 10.4.444. This is in our Test environment (PTL).  We did an in-place server os upgrade from 2012R2 to 2016 with IIS 10.  It is like it is printing out the field descriptors in HTML type description and the character limits.  I don't have any special scripts in the background, only a Javascript for Hide Reject button and some CSS for TwoPerLine and/or ThreePerLine.  That is it.  It just started right after this in-place upgrade.  Any suggestions?

 

Also, went I move these forms back into our Production environment which hasn't been upgraded yet they are correct.

 

0 0
replied on September 5, 2023

@████████

I've never seen those messages being displayed on a saved copy before. My first thought would be that there's some CSS affecting them, but if you're seeing a difference between two environments running the exact same version of Forms and the same business processes, then I'd suggest opening a support ticket.

0 0
replied on September 5, 2023

I do have a ticket open with my VAR. Just seems to be weird that it just started after the upgrade.  Thank you for responding.

I've attached a print screen of a pdf file that was created with part of the form with test data in it for you to see what it did in the printed copy.

Input blocked messages.PNG
0 0
replied on September 5, 2023

That's odd. It looks like it is making all of the screen reader text visible, but I've never seen anything like that happen before.

0 0
replied on September 6, 2023

We have seen several weird things happening with update 3, I just finished updating everything to Update 4. The list of fixes on Update 4 is very long. You know how LF support always asks if you are on the most current version :)

0 0
replied on September 6, 2023

Chris, are you on version 10 or version 11?  We are planning on upgrading to version 11 soon, but needed to get our servers OS upgraded first. And this is where we are Windows server 2016 and LF version 10.4 (Forms 10.4.444)

0 0
replied on September 7, 2023

we are on 11 update 4

0 0
replied on September 7, 2023

Thanks Chris, do you know what Windows Server version you are on and what version of IIS?  

0 0
replied on September 8, 2023

server: 2022 Standard
iis: 10.0.20348.1

0 0
replied on September 8, 2023

So, one more question. I see you posted this in 2021, were you on Server 2022 then when you reported this issue?  And are you still having this issue on server 2022 & iis 10.0.20348.1?

We are thinking we need to do a new server setup with 2022 and then reinstall and move everything over. 

0 0
replied on September 8, 2023

If you can do that then I would definitely take the option to upgrade your infrastructure for sure. If it's an option, do it!

And, no we were on an older server and IIS version. We upgraded in December 2022. I think we were on server 2016, not sure which IIS. Sorry.

0 0
replied on September 8, 2023

Thanks. That is our plan. Our server support was trying to do the in-place upgrade to avoid setting up a newer server with 2022.  We have only done this in our test environment, so good thing we found out now.  We are planning to upgrade to the latest version. We are going to have to setup the new server and move over and upgrade to 11.x

1 0
You are not allowed to follow up in this post.

Sign in to reply to this post.