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

You may use {yourvaluename} in the question and page titles, html question and completedHtml survey 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 template is changed to:

survey.questionTitleTemplate = "{no}) {title} {require}:";

The default requiredText property is changed to:

survey.requiredText = "(*)";

The question No starts from A.

survey.questionStartIndex = "A";


Survey.Survey.cssType = "bootstrap";
Survey.defaultBootstrapCss.navigationButton = "btn btn-green";

window.survey = new Survey.Model({
    questionTitleTemplate: "{no}) {title} {require}:",
    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>"
});
survey.onComplete.add(function(result) {
	document.querySelector('#surveyResult').innerHTML = "result: " + JSON.stringify(result.data);
});


function onAngularComponentInit() {
    Survey.SurveyNG.render("surveyElement", {model:survey});
}
var HelloApp =
    ng.core
        .Component({
            selector: 'ng-app',
            template: '<div id="surveyContainer" class="survey-container contentcontainer codecontainer">' +
            '<div id="surveyElement"></div></div>'
        })
        .Class({
            constructor: function() {
            },
            ngOnInit: function() {
                onAngularComponentInit();
            }
        });
document.addEventListener('DOMContentLoaded', function() {
    ng.platformBrowserDynamic.bootstrap(HelloApp);
});


<!DOCTYPE html>
<html>

<head>
    <title>Welcome to Angular</title>
    <script src="https://npmcdn.com/zone.js"></script>
    <script src="https://npmcdn.com/core-js/client/shim.min.js"></script>
    <script src="https://npmcdn.com/rxjs@5.0.0-beta.6/bundles/Rx.umd.js"></script>
    <script src="https://npmcdn.com/@angular/core@2.0.0-rc.5/bundles/core.umd.js"></script>
    <script src="https://npmcdn.com/@angular/common@2.0.0-rc.5/bundles/common.umd.js"></script>
    <script src="https://npmcdn.com/@angular/compiler@2.0.0-rc.5/bundles/compiler.umd.js"></script>
    <script src="https://npmcdn.com/@angular/platform-browser@2.0.0-rc.5/bundles/platform-browser.umd.js"></script>
    <script src="https://npmcdn.com/@angular/platform-browser-dynamic@2.0.0-rc.5/bundles/platform-browser-dynamic.umd.js"></script>
    
    <script src="https://surveyjs.azureedge.net/0.12.19/survey.angular.js"></script>
    
    
    <link rel="stylesheet" href="https://unpkg.com/bootstrap@3.3.7/dist/css/bootstrap.min.css">
    <link rel="stylesheet" href="./index.css">
</head>

<body>
    <ng-app></ng-app>
    <div id="surveyResult"></div>
    <script src="./index.js"></script>
</body>

</html>

.btn-green {
  background-color: #1ab394;
  color: #fff;
  border-radius: 3px;
}

.btn-green:hover, .btn-green:focus {
    background-color: #18a689;
    color: #fff;
}

.panel-footer {
    text-align: right;
    background-color: #fff;
}