Issue 2551352
Created on 2024-05-16 18:48 by rouilj, last changed 2024-05-22 23:06 by rouilj.
Messages | |||
---|---|---|---|
msg8052 | Author: [hidden] (rouilj) | Date: 2024-05-16 18:48 | |
The result of calling db.<class>.classhelp() results in an a tag with an href of the backend end classhelper template. It depends on an onclick handler to open a popup window. However if javascript is disabled, clicking on the link replaces the current page because the a link is missing a target attribute. E.G. <a class="classhelp" [...] href="issue? @startwith=0&@template=help&properties=id,title&property=superseder&form=itemS ynopsis&type=checkbox&@sort=title&@pagesize=100" onclick="javascript:[...]">\ This could result in lost work if the browsers back button doesn't restore filled in data. I am going to add a target="_blank" to the generated a link to open the classhelper in a new window/tab. Also if javascript is disabled, the classhelper doesn't and can't work even in a new window. Without javascript there is no way to select items and insert them into the original page. It is useful for paging through the results and manually copying id numbers to the original page. So I am also going to add a noscript tag to the top of the classhelper to tell people that clicking on apply/cancel etc. don't work. It will show up only when javacript is unavailable leaving the classhelper usable for read only viewing of the data. This should not change how the new classhelper web component acts. The target parameter is used only if the a link gets a click event. Since the web component prevents the link from getting a click event, the target is ignored. |
|||
msg8053 | Author: [hidden] (rouilj) | Date: 2024-05-16 20:25 | |
The noscript tag seems to not play well with frames. I added it to the center row (@template=help-list) where the results table is displayed. The noscript text was not displayed in firefox (but was visible in devtools). It was displayed in chrome, but it was scrolled off the top of the screen and not visible to the user by default. In neither case did selecting a checkbox cause the id number to be placed in the bottom submit text input. So javascript *was* turned off. Also I discovered that a frameset can only contain frame tag/elements. Anything else seems to be ignored. I tried putting the noscript above the frameset in user.help.html. |
|||
msg8059 | Author: [hidden] (rouilj) | Date: 2024-05-22 23:06 | |
Added target="_blank" in changeset: 7970:b63fcfc2c984. Still no luck in figuring out how to display a notice using noscript, but at least we don't have it replacing a partly filled form. cbb. |
History | |||
---|---|---|---|
Date | User | Action | Args |
2024-05-22 23:06:43 | rouilj | set | status: open -> fixed resolution: fixed messages: + msg8059 |
2024-05-16 20:25:25 | rouilj | set | status: new -> open messages: + msg8053 |
2024-05-16 18:48:20 | rouilj | create |