Cart Buy Licenses Contact Support Login/Register
v 1.8.18
v 1.8.18
Overview Examples Docs Source Download

Process Text

Pre-process question and page titles, and html properties. Use survey properties to change the templates.


                        
        
            Survey.StylesManager.applyTheme("modern");
        


            
                var json = {
    questionTitlePattern: "requireNumTitle",
    questionStartIndex: "# A)", 
    requiredText: "(*)",
    pages: [ 
        {
            title: "This is the page {pageno} of {pagecount}.", 
            questions: [
            {type: "text", name: "name", title: "Please type your name", isRequired: true},
            {type: "text", name: "email", title: "Please type your e-mail", isRequired: true, validators: [{type:"email"}]}]
        },
        {
            title: "This is the page {pageno} of {pagecount}.", 
            questions: [
            {type: "comment", name: "comment", title: "{name}, please tell us what is on your mind"}]
        }
],
completedHtml: "<p><h4>Thank you for sharing this information with us.</h4></p><p>Your name is: <b>{name}</b></p><p>Your email is: <b>{email}</b></p><p>This is what is on your mind:</p><p>{comment}</p>"
};

                window.survey = new Survey.Model(json);
            
        
            survey.onComplete.add(function(result) {
            document.querySelector('#surveyResult').textContent =
            "Result JSON:\n" + JSON.stringify(result.data, null, 3);
            });
        
        
            $("#surveyElement").Survey({
            model: survey 
            });
        

                    
<!DOCTYPE html>
<html lang="en">
<head>
    <title>Pre-process question and page titles, and html properties. Use survey properties to change the templates., jQuery Survey Library Example</title>

<meta name="viewport" content="width=device-width" />
    <script src="https://unpkg.com/jquery"></script>
<script src="/DevBuilds/survey-jquery/survey.jquery.min.js"></script>
    <link href="/DevBuilds/survey-knockout/modern.css" type="text/css" rel="stylesheet" />
    <link rel="stylesheet" href="./index.css">

</head>
<body>
    
            <div id="surveyElement" style="display:inline-block;width:100%;">
            </div>
    <div id="surveyResult"></div>

<script type="text/javascript" src="./index.js"></script>

</body>
</html>
settings

You may use {yourvaluename} in the question and page titles, html question and completedHtml survey property.
From v1.0.24 this functionality is available for almost all string properties in SurveyJS Elements, for example: choices, rows and columns, for their text property.

The value name can be your question names, pageno (the current page number) and pagecount (visible pages count). The name is case insensitive.

In this example, the default question title pattern is used:

survey.questionTitlePattern = "requireNumTitle";

The default requiredText property is changed to:

survey.requiredText = "(*)";

The question numbering is change from default "1." to alphabet:

survey.questionStartIndex = "# A)";