All my fields' tabindex is minus one in my editview

Hello! I’ve created a custom module based on people template.

i’ve customised the editView (which is synced with the detailView) and I have assigned a tabindex value for every field.

But when I use that editView almost every field has tabindex=-1 so I only can’t get to them using my mouse, which is very slow.

I was changing include/EditView/EditView.tpl but it looks the changes there has no effect on the generated code.

I changed all tabindex=$tabindex for a tabindex="-3", “-4”, “5” in every tabindex assignment, but I couldn’t see it in my html page, I also tried making a QRR previously.

So my question is where can I fix that -1 issue or, at least, where is really being generated my editView.

Thanks in advance!!!

1 Like

tabindex does not appear to be working in any module. I set the taborder in studio for Accounts and other modules. Tabindex is set to -1 on the form for text fields and set to 0 or not assigned for other fields instead of the value assigned in custom metadata for editview. The demo also shows the same issue. Tabindex is not being passed to the field smarty templates.

1 Like

Well! I found a workaround… I guessed that the problem was the autogenerated fields, they had no “space” among another fields’s tabindex values…

So, instead of giving the fields tabindex values of 1, 2, 3, 4… I gave them as 10, 20, 30, 40…

And, against all odds, it works!

Perhaps it’s useful for somebody…

I tried your solution but didn’t work for me.

Tabindex still all over the place :frowning:

Cool that it works for you thou

mmmm… I’m sorry to hear that, that’s weird… I will take this workaround on more forms tomorrow… I’ll keep you informed on my discoveries…

I was trying this solution with the editView of a custom module. And it was ok.

Next I tried on Accounts editView. And it was ok.

Next I tried on Contacts editView. And it failed.

And now it fails on the my customand accounts editViews…

I was using sync views for the contacts but it doesn’t work with unsynced views as well.

This is very fustrating as I feel not having to touch mouse during form filling as a Usability 101 feature. :frowning: :frowning:

See here for a workaround:

https://github.com/salesagility/SuiteCRM/issues/3763

and let’s hope a proper solution is found there soon…

Well, I finally found where this fields, and tabindex values of course, were generated.

The include/EditView/EditView.tpl has been overwritten by the themes/suiteP/include/EditView/EditView.tpl.

This SmartyTemplate calls tab_panel_content.tpl in the same folder… Well, as I’m using SuitePImproved this wasn’t true, suitePImproved/include/EditView/EditView.tpl was loading suiteP/include/EditView/tab_panel_content.tpl so that had to be fixed.

Anyway, in the tab_panel_content.tpl file you find tabindex=$tabindex 4 times, that $tabindexare replaced by:

  1. $subfields.tabindex
  2. $colData.field.tabindex
  3. $colData.field.tabindex
  4. $colData.field.tabindex

And this is working everywhere for me.

This change is not upgrade-safe because I didn’t get loaded that tpl from the custom/themes… I’ll come back later to fix that

2 Likes

Javitoron, thanks for your reply! It works great for me! (at Contacts and Accounts modules). Just replacing all ocurrences of $tabindex in the tab_panel_content.tpl file.

But I think something is still wrong… After that change, the emailAddress field now has tabIndex=“0”. As it has a particular behaviour, meaby its tabIndex is coming from somewhere else…

It works indeed, thanks!, great finding.

Last night i was thing of overwriting the tab indexes with jquery or js or something like that…

Thanks a lot! :silly:

About that email field, I suppose you are right… by now it’s a minor issue for me so I’m not going to research it, but I’ll do in the future for sure, as I get this project running for real users… bye!