Hi all,
First time post as I'm a bit stumped.
The issue:
Qualtrics seems to not maintain formatting upon submission of multine/essay type questions.
I thought I could tackle this with some jQuery but I'm having no luck still.
My solution attempt:
- Essay type question
- on the question is the following JS/jQuery:
Qualtrics.SurveyEngine.addOnload(function()
{
/*Place your JavaScript here to run when the page loads*/
console.log("loaded question "+this.questionId);
jQuery("#"+this.questionId+" textarea").on("blur", function() {
jQuery(this).val().replace("\\n","<br>");
});
});
Qualtrics.SurveyEngine.addOnReady(function()
{
/*Place your JavaScript here to run when the page is fully displayed*/
});
Qualtrics.SurveyEngine.addOnUnload(function()
{
});
Coding steps:
1. Targetting the textarea
2. When it unfocuses
3. Change the value contained within
I seem to be stuck on step 3 - the blur works fine. It's difficult to tell whether I've succeeded or not (recommendations here appreciated too - if there's a good function to present unencoded text so I can visibly spot <br\\> vs \\n ?)
This whole scenario seems silly as "multi-line" fields are still "actually-really-one-line" fields.
Any help much appreciated - completely new to the API, and rusty with my jQuery.
Page 1 / 1
First, providing a string argument to .replace() only replaces the first instance. You need to use regex to do a global replace. Also, you never updated the value. Try this instead:
```
this.value = this.value.replace(/\\n\\r?/g, "<br>");
```
If you want to do it so the respondent doesn't see it, use the addOnPageSubmit function instead of a blur event.
I don't remember ever testing it, but if the Qualtrics server strips html tags from inputs (for security) you'll loose the breaks anyway.
```
this.value = this.value.replace(/\\n\\r?/g, "<br>");
```
If you want to do it so the respondent doesn't see it, use the addOnPageSubmit function instead of a blur event.
I don't remember ever testing it, but if the Qualtrics server strips html tags from inputs (for security) you'll loose the breaks anyway.
Damn,
Well I mean thank you for the information - that makes sense - but it looks like the later might hold true as far as stripping HTML :(
Would be nice if Qualtrics only stripped out more potentially abusive elements like <iframe\\>s. Seems a bit overkill to strip out <br\\>s
Well I mean thank you for the information - that makes sense - but it looks like the later might hold true as far as stripping HTML :(
Would be nice if Qualtrics only stripped out more potentially abusive elements like <iframe\\>s. Seems a bit overkill to strip out <br\\>s
Leave a Reply
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.