Tab and Enter keys

More
4 years 8 months ago #83619 by WizzardOne
Hello, I have just launched a survey, and had a user report that if they hit the tab or enter key after filling in a question on the form, they are closed out and the survey acts like it was the submit key.
Have I missed a setting?

Please Log in to join the conversation.

More
4 years 8 months ago #83680 by tpartner
Depending on the number and type of inputs, it is normal behaviour for browsers to submit a form when the Enter key is pressed.

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

Please Log in to join the conversation.

More
3 years 6 months ago #99772 by duvemyster
While recognizing that this is standard browser behavior, have any of you explored ways of over-riding it in any of your instances of limesurvey?

Any recommendations besides the following?
stackoverflow.com/questions/585396/how-t...to-submit-a-web-form

Please Log in to join the conversation.

More
1 year 8 months ago #122861 by JanE01
There is a strange difference between the behaviour on a iPad and, for instance, in Chrome on Windows. On a iPad the Go button (or the Enter key if you have a BT keyboard) triggers the previous submit button. On Chrome the Enter key does a Next submit.

'Next' is preferable. How do I change that for the iPad?

Please Log in to join the conversation.

More
1 year 8 months ago #122864 by Bigred01
I'm not sure what keyCode the "go" button returns for iPhone but from what i have read its also 13. The below script should prevent most instances of enter submitting the form. Textarea wont be affected by this.
$(document).ready(function() {
    $('input').on('keydown keypress', function(e) {       
        if(e.keyCode === 13) {
            return false;
        }      
    });
});

Please Log in to join the conversation.

More
1 year 8 months ago #122868 by Bigred01
To trigger the next button, try this.
$(document).ready(function() {
    $('input').on('keydown keypress', function(e) {       
        if(e.keyCode === 13) {
            e.preventDefault();
	    $('#movenextbtn').click();
        }      
    });
});

Please Log in to join the conversation.

More
1 year 8 months ago #122918 by DenisChenu
Complete test of key:
git.framasoft.org/Shnoulle/SkeletonQuest...ster/template.js#L74

Here, i focus on enter or sumbmit, can be updated to "click".

I think default behaviour must be save but not go next ?

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).

Please Log in to join the conversation.

More
8 months 3 days ago #139563 by adridg
I´m using LS Version 2.50+ Build 160718
and I´ve just notice that the if I press "enter" in the keyboard this will do the same as pressinf button "Next"
and what is worse, the same as "Submit" buttom at the end of my survey.
How do I disable this?
I want only "Next" and "Submit" buttom to do this.
Thak you

Please Log in to join the conversation.

More
8 months 3 days ago #139564 by Bigred01
The script above that has return false should work for you.
The following user(s) said Thank You: adridg

Please Log in to join the conversation.

More
8 months 2 days ago #139589 by DenisChenu
Or just remove the line 80 to 84

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
The following user(s) said Thank You: adridg

Please Log in to join the conversation.

More
8 months 2 days ago #139616 by adridg

DenisChenu wrote: Or just remove the line 80 to 84


Didn´t work for FireFox and Chrome.

Please Log in to join the conversation.

More
8 months 2 days ago #139617 by adridg

Bigred wrote: The script above that has return false should work for you.


Sorry if i´m asking basic questions, but i´m new in this thing
I tried to copy the script that y told, but it retirned error.
I have to write the exactly script in the css template? In which line of it?
Thank you again.

Please Log in to join the conversation.

More
8 months 2 days ago #139623 by DenisChenu

adridg wrote:

DenisChenu wrote: Or just remove the line 80 to 84


Didn´t work for FireFox and Chrome.

It's not an answer .....

Put this at top of your template.js file
$(document).on('keypress','input[type=text],#limesurvey select',function(e){
		var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
		if (key == 13) {
			e.preventDefault();
		}
	});

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
The following user(s) said Thank You: adridg, ConradNg

Please Log in to join the conversation.