Changeset 35 for Dev/trunk/classes
- Timestamp:
- 07/21/11 19:01:22 (14 years ago)
- Location:
- Dev/trunk/classes
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
Dev/trunk/classes/Question.php
r32 r35 12 12 */ 13 13 class Question { 14 public $id; 14 15 public $title; 15 16 public $type; … … 17 18 public $answers; // format answers['#'] 18 19 19 public function __construct($ title, $type, $description = null)20 public function __construct($id, $title, $type, $description = null) 20 21 { 22 $this->id = $id; 21 23 $this->title = $title; 22 24 $this->type = $type; -
Dev/trunk/classes/Survey.php
r29 r35 36 36 while (isset($info['questionTitle' . $numQ])) 37 37 { 38 $id = $info['questionID' . $numQ]; 38 39 $title = $info['questionTitle' . $numQ]; 39 40 $type = $info['questionType' . $numQ]; 40 41 $description = $info['questionDescription' . $numQ]; 41 42 42 $question = new Question($ title, $type, $description);43 $question = new Question($id, $title, $type, $description); 43 44 44 45 $numA = 1; //number answers -
Dev/trunk/classes/SurveyCreationTool.php
r34 r35 38 38 /* autosave every 3 minutes */ 39 39 setTimeout("save('<?php echo $id; ?>')", 180000); 40 40 41 41 var questionCount = 1; 42 42 43 43 function getNewQuestion(title, description) 44 44 { 45 45 if (title == null) 46 46 var title = 'Untitled Question'; 47 47 48 48 if (description != null) 49 49 var description = description; 50 50 else 51 51 var description = 'Write a question description here.'; 52 52 53 53 var questionDiv = document.createElement("div"); 54 54 var htmlStr = … … 71 71 "<div id='answersDiv" + questionCount + "' class='answersDiv'></div>" + 72 72 "</div>"; 73 73 74 74 questionDiv.innerHTML = htmlStr; 75 75 76 76 return questionDiv; 77 77 } 78 78 79 79 function handleFocus(input) 80 80 { … … 82 82 if (input.clicked == null && 83 83 (input.value == "Untitled Survey" 84 85 86 84 || input.value == "Write a helpful description for this survey here." 85 || input.value == "Write a question description here." 86 || input.value == "Untitled Question")) 87 87 { 88 88 input.value = ""; … … 91 91 } 92 92 } 93 93 94 94 function handleBlur(input) 95 95 { 96 96 var surveyTitle = document.getElementById('surveyTitle'); 97 97 var surveyDescription = document.getElementById('surveyDescription'); 98 98 99 99 if (input.value == "") 100 100 { 101 101 input.style.color = "gray"; 102 102 input.clicked = null; 103 103 104 104 if (input == surveyTitle) 105 105 { … … 112 112 } 113 113 } 114 114 115 115 function handleType(select, answers) 116 116 { … … 120 120 answersDiv.answerCount = 1; 121 121 answersDiv.clicked = null; 122 122 123 123 switch (type) { 124 124 case 'mc': … … 133 133 else 134 134 addOption(numQ); 135 135 136 136 break; 137 137 case 'text': … … 140 140 case 'int': 141 141 answersDiv.innerHTML = ""; 142 142 143 143 //min max 144 144 if (answers != null) … … 172 172 173 173 } 174 174 175 175 176 176 function addOption(questionNumber, optionStr) 177 177 { … … 179 179 var answerCount = answersDiv.answerCount; 180 180 var answerDiv = document.createElement("div"); 181 181 182 182 if (optionStr == null) 183 183 var optionStr = "Option " + answerCount; 184 185 184 185 186 186 answerDiv.className = "answerDiv"; 187 187 188 188 var htmlStr = "<input type='text' name='q" + 189 189 questionNumber + "ans" + answerCount + "' value='" + optionStr + "' />"; 190 190 191 191 if (answersDiv.clicked == null) 192 192 { … … 194 194 + " class='surveyButton' onclick='addOption(" + questionNumber + ")' value='Add Option' />" + 195 195 "<input type='button' class='surveyButton' onclick='removeOption(" + questionNumber + ")' value='x' />"; 196 196 197 197 answersDiv.clicked = true; 198 198 } 199 199 200 200 answerDiv.innerHTML = htmlStr; 201 201 202 202 answerDiv.prev = answersDiv.lastAnswer; //singly linked list 203 203 answersDiv.lastAnswer = answerDiv; 204 204 205 205 answersDiv.appendChild(answerDiv); 206 206 answersDiv.answerCount++; 207 207 } 208 208 209 209 function removeOption(questionNumber) 210 210 { 211 211 var answersDiv = document.getElementById("answersDiv" + questionNumber); 212 212 213 213 if (answersDiv.lastAnswer.prev != null) 214 214 { … … 218 218 } 219 219 } 220 220 221 221 function minMax(questionNumber, min, max) 222 222 { … … 225 225 if (max == null) 226 226 var max = ''; 227 227 228 228 var answersDiv = document.getElementById("answersDiv" + questionNumber); 229 229 230 230 var answerDiv = document.createElement("div"); 231 231 232 232 answerDiv.className = "answerDiv"; 233 233 answerDiv.innerHTML = "<label for='min'>Min</label><input type='text' value='" + min + "' name='q" + questionNumber + "ans1' />" + 234 234 "<label for='max'>Max</label><input type='text' value='" + max + "' name='q" + questionNumber + "ans2' />"; 235 235 236 236 answersDiv.appendChild(answerDiv); 237 237 } 238 238 239 239 function minMaxIncr(questionNumber, left, right, incr) 240 240 { … … 245 245 if (incr == null) 246 246 var incr = ''; 247 247 248 248 var answersDiv = document.getElementById("answersDiv" + questionNumber); 249 249 250 250 var answerDiv = document.createElement("div"); 251 251 answerDiv.className = "answerDiv"; … … 254 254 "<label>Scale count</label><input type='text' value='" + incr + "' name='q" + questionNumber + "ans3' />" + 255 255 "<div id='inputCheckFeedback'" + questionNumber + ""; 256 256 257 257 answersDiv.appendChild(answerDiv); 258 258 } 259 260 259 260 261 261 function addQuestion(title, description) 262 262 { 263 263 var questionsDiv = document.getElementById('questionsDiv'); 264 264 var newQuestion = getNewQuestion(title, description); 265 265 266 266 267 267 newQuestion.prev = document.lastQuestion; … … 271 271 questionCount++; 272 272 } 273 273 274 274 function removeLastQuestion() 275 275 { 276 276 var questionsDiv = document.getElementById('questionsDiv'); 277 277 278 278 if (document.lastQuestion.prev != null) 279 279 { … … 287 287 } 288 288 } 289 289 290 290 function save(surveyID) 291 291 { … … 293 293 var questionsDiv = document.getElementById('questionsDiv'); 294 294 form.action = "surveycreation.php"; 295 295 296 296 /* extra time stamp */ 297 297 var date = new Date(); … … 304 304 timeStampInput.value = timeStamp; 305 305 timeStampInput.type = "hidden"; 306 306 307 307 var surveyIDInput = document.createElement("input"); 308 308 surveyIDInput.name = "surveyID"; 309 309 surveyIDInput.value = surveyID; 310 310 surveyIDInput.type = "hidden"; 311 311 312 312 questionsDiv.appendChild(timeStampInput); 313 313 questionsDiv.appendChild(surveyIDInput); 314 314 form.submit(); 315 315 } 316 317 316 317 318 318 </script> 319 319 <?php … … 371 371 ?> 372 372 <script type="text/javascript"> 373 var questionIDInput = document.createElement("input"); 374 questionIDInput.name = "questionID<?php echo $numQ; ?>"; 375 questionIDInput.value = "<?php echo $question->id; ?>"; 376 questionIDInput.type = "hidden"; 377 378 document.getElementById("questionsDiv").appendChild(questionIDInput); 379 380 373 381 var answers = new Array(); 374 382 <?php … … 378 386 } 379 387 ?> 380 388 381 389 addQuestion('<?php echo $question->title; ?>', '<?php echo $question->description; ?>'); 382 390 383 391 var select = document.getElementById('<?php echo $numQ; ?>'); 384 392 var type = '<?php echo $question->type; ?>';
Note: See TracChangeset
for help on using the changeset viewer.