SurveyCreator.StylesManager.applyTheme("bootstrap");
//Add a tag property
Survey.Serializer.addProperty("question", {name:"tag", category: "general"});
//Make name and tag properties read-only
Survey.Serializer.findProperty("question", "name").readOnly = true;
Survey.Serializer.findProperty("question", "tag").readOnly = true;
var creatorOptions = { };
var creator = new SurveyCreator.SurveyCreator("creatorElement", creatorOptions);
creator.showToolbox = "right";
creator.showPropertyGrid = "right";
creator.rightContainerActiveItem("toolbox");
var questionCounter = 1;
//Set the name property different from the default value
//and set the tag property to a generated GUID value.
creator.onQuestionAdded.add(function(sender, options){
var q = options.question;
var t = q.getType();
q.name = "Question" + t[0].toUpperCase() + t.substring(1) + questionCounter;
q.tag = guid();
questionCounter ++;
});
function guid() {
function s4() {
return Math.floor((1 + Math.random()) * 0x10000)
.toString(16)
.substring(1);
}
return s4() + s4() + '-' + s4() + '-' + s4() + '-' +
s4() + '-' + s4() + s4() + s4();
}
<!DOCTYPE html>
<html lang="en">
<head>
<title>Modify new created question, Survey Creator Example</title>
<meta name="viewport" content="width=device-width" />
<script src="https://unpkg.com/knockout@3.5.1/build/output/knockout-latest.js"></script>
<script src="/DevBuilds/survey-knockout/survey.ko.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.10/ace.min.js" type="text/javascript" charset="utf-8"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.10/ext-language_tools.js" type="text/javascript" charset="utf-8"></script>
<!-- Uncomment to enable Select2
<script src="https://unpkg.com/jquery"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script>
-->
<link href="/DevBuilds/survey-creator/survey-creator.min.css" type="text/css" rel="stylesheet" />
<script src="/DevBuilds/survey-creator/survey-creator.min.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>
<div id="surveyContainer">
<div id="creatorElement"></div>
</div>
<script type="text/javascript" src="./index.js"></script>
</body>
</html>
Use onQuestionAdded event
Use this event to modify a new created question in the designer as you want.
You may make any property readonly by setting its "readOnly" attribute to true. It is always false by default.
Survey.Serializer.findProperty("question", "name").readOnly = true;