InfoPath form jumping to first populated People Picker on Postback

Question

Aaron Cutlip on Wed, 19 Dec 2012 01:34:03


I have a problem in which any time my InfoPath form does a postback to execute a rule or query a data source the form jumps to the first instance of a "populated" people picker.   There are several people pickers on this form and it always jumps to the first one that has been populated.   There are no rules or default values on any of these people pickers and they are not required fields.  If the people pickers are left empty then the scroll position is maintained after postback.  This problem happens in IE 9 & 10, but does not happen in Chrome. I have tried setting the tab index to -1 as well as moving the controls around as well as recreating the controls but the problem persists.  I also found a post that said to remove any rich text controls which I did with no change to the problem.

Any ideas would be appreciated.





Replies

Emir Liu on Thu, 20 Dec 2012 11:37:02


Hi Aaron,

This is by design that people picker will also postback and page will reload after postback. But it does not jump to the first people picker control when there is value in it, actually it will jump to the control with your mouse focus currently.

A workaround is to use other control instead. And validate the users with userprofileservice.asmx.

Thanks & Regards,
Emir

Aaron Cutlip on Thu, 20 Dec 2012 22:29:08


Thanks for the reply, but I am not sure that address the issue I am experiencing.

The issue is not that the people picker posts back.  The issue is that if any other control posts back the form scrolls up to the first instance of a "populated" people picker.  If none of the people pickers are populated and then you change another control (non-people picker) that posts back then the focus stays on that control as it should.


P.S. Please "Mark as Answer" and "Vote as Helpful" if appropriate.


DigitalMacyver on Fri, 21 Dec 2012 00:02:22


Aaron,

I have had that problem on a lot of forms when my users are trying to use the Tab Thru experience.  One thing I have found to help is going to each field as I want them to experience and going to the field Properties  > Advanced and adjusting the Tab Index.  The second thing I use is making sure I leverage Sections and Groups.  By ensuring the fields are deployed to them I have found this to only allow the jump within the section.


Keep Moving Forward,

Scott "Digital MacGyver" Ellis

P.S. Please "Mark as Answer" and "Vote as Helpful" if appropriate.


Emir Liu on Fri, 21 Dec 2012 05:14:11


Hi Aaron,

Sorry for the misinterpretation of the problem.

Following 10 common will cause the form to postback.

  • complex calculations
  • data adapters
  • Multiple binding: data bound to multiple controls
  • Out-of-context binding
  • View switching
  • Conditional formatting
  • Digtial signatures
  • Busniess lgic event handing
  • Custom hosting pages and external page events
  • Complex XPaths

Here is a good blog talks about this topic.
Designing browser-enabled forms for performance in InfoPath Forms Services

And if it is unnecessary for the control to do the postback, we can disable it this way: Go to Control Properties > Browser forms > choose "Never" > OK. Most part of controls have this setting, but small part of it doesn't, like people picker and external item picker. And if postback is necessary, unfortunately, as far as I know, there is no workaround so far. I think DigitalMacyyer's solution should work, you may try this.

Thanks & Regards,
Emir


Emir Liu
TechNet Community Support




Aaron Cutlip on Fri, 21 Dec 2012 16:08:16


I am not trying to prevent the postback from happening.  Let me try to explain the problem more clearly:

  1. At the top of the form there are some People Pickers that a user has filled in.
  2. The middle of the form has various other controls.
  3. The bottom of the form has a dropdown that when changes does a postback to query a data source (rule configured). 

When a user changes the dropdown in #3 the form posts back as it has to, but then the user is scrolled all the way back up to the top of the form with focus set to the first people picker that is populated.  If none of these people pickers are populated the scrolling does not happen and everything works as it should.  As mentioned previously this does not happen in Chrome.

I believe that there might be something on the form causing this as I have done a lot of forms in my time and not seen this happen before.

Aaron Cutlip on Mon, 07 Jan 2013 15:25:31


I am still having this issue, but discovered one more critical piece of information.  The problem only happens when I am accessing the form through the web application that has been configure to use SAML (Trusted Identity Provider).  If I access the site that through an extended web application that uses Windows Auth then the problem does not occur.  Since the problem is that it scrolls up to the first instance of a populated people picker, there is something about a claims, trusted provider login that appears to be causing this behavior.

To Recap:

  1. Works with Chrome, or if accessing the site through the windows auth zone.
  2. Does not work (Form jumps to first populated people picker on refresh), when access the site from the trusted identity provider configured zone.

P.S. Please "Mark as Answer" and "Vote as Helpful" if appropriate.


Aaron Cutlip on Wed, 16 Jan 2013 22:01:34


I was able to confirm with Microsoft Support that this problem happens when using a Trusted Identity Provider (SAML) configured zone and people pickers in a browser rendered form.   Uggg... So, the only why to workaround this issue is to separate your people pickers into a separate (shorter) view.  

Strangely I discovered that sometimes newly created People Pickers will work until you create another or rename the folder they are contained in.