Ignore:
Timestamp:
07/21/11 19:01:22 (14 years ago)
Author:
fpvanagthoven
Message:

QuestionID now gets passed.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Dev/trunk/classes/SurveyCreationTool.php

    r34 r35  
    3838            /* autosave every 3 minutes */
    3939            setTimeout("save('<?php echo $id; ?>')", 180000);
    40                                                                                                                                                    
     40                                                                                                                                                           
    4141            var questionCount = 1;         
    42                                                                                                                                                                                                                                                                                            
     42                                                                                                                                                                                                                                                                                                   
    4343            function getNewQuestion(title, description)
    4444            {
    4545                if (title == null)
    4646                    var title = 'Untitled Question';
    47                                                                                        
     47                                                                                               
    4848                if (description != null)
    4949                    var description = description;
    5050                else
    5151                    var description = 'Write a question description here.';
    52                                                                                                            
     52                                                                                                                   
    5353                var questionDiv = document.createElement("div");
    5454                var htmlStr =
     
    7171                    "<div id='answersDiv" + questionCount + "' class='answersDiv'></div>" +
    7272                    "</div>";
    73                                                                                                                                                                                                                                                                                        
     73                                                                                                                                                                                                                                                                                               
    7474                questionDiv.innerHTML = htmlStr;
    75                                                                                                                                                                                                                                                                                        
     75                                                                                                                                                                                                                                                                                               
    7676                return questionDiv;
    7777            }
    78                                                                                                                                                                                                                                                                                            
     78                                                                                                                                                                                                                                                                                                   
    7979            function handleFocus(input)
    8080            {
     
    8282                if (input.clicked == null &&
    8383                    (input.value == "Untitled Survey"
    84                         || input.value == "Write a helpful description for this survey here."
    85                         || input.value == "Write a question description here."
    86                         || input.value == "Untitled Question"))
     84                    || input.value == "Write a helpful description for this survey here."
     85                    || input.value == "Write a question description here."
     86                    || input.value == "Untitled Question"))
    8787                {
    8888                    input.value = "";
     
    9191                }
    9292            }
    93                                                                                                                                                                                                                                                                                                                            
     93                                                                                                                                                                                                                                                                                                                                   
    9494            function handleBlur(input)
    9595            {       
    9696                var surveyTitle = document.getElementById('surveyTitle');
    9797                var surveyDescription = document.getElementById('surveyDescription');
    98                                                                                                                                                                                                                                                                                                            
     98                                                                                                                                                                                                                                                                                                                   
    9999                if (input.value == "")
    100100                {
    101101                    input.style.color = "gray";
    102102                    input.clicked = null;
    103                                                                                                                                                                                                                                                                                                                                    
     103                                                                                                                                                                                                                                                                                                                                           
    104104                    if (input == surveyTitle)
    105105                    {
     
    112112                }                           
    113113            }
    114                                                                                                                                                                                                                                                                            
     114                                                                                                                                                                                                                                                                                   
    115115            function handleType(select, answers)
    116116            {
     
    120120                answersDiv.answerCount = 1;
    121121                answersDiv.clicked = null;
    122                                                                                                                                                                                                                                
     122                                                                                                                                                                                                                                       
    123123                switch (type) {
    124124                    case 'mc':
     
    133133                        else
    134134                            addOption(numQ);
    135                                                                                                                                                                                                                                                                
     135                                                                                                                                                                                                                                                                       
    136136                        break;
    137137                    case 'text':
     
    140140                    case 'int':   
    141141                        answersDiv.innerHTML = "";
    142                                                                                        
     142                                                                                               
    143143                        //min max
    144144                        if (answers != null)
     
    172172
    173173            }
     174                                                                                                                                                                                                                                                                   
    174175                                                                                                                                                                                                                                                           
    175                                                                                                                                                                                                                                                    
    176176            function addOption(questionNumber, optionStr)
    177177            {       
     
    179179                var answerCount = answersDiv.answerCount;
    180180                var answerDiv = document.createElement("div");
    181                        
     181                               
    182182                if (optionStr == null)
    183183                    var optionStr = "Option " + answerCount;
    184                        
    185                        
     184                               
     185                              
    186186                answerDiv.className = "answerDiv";
    187                                                                                                                                                                                                                                                        
     187                                                                                                                                                                                                                                                               
    188188                var htmlStr = "<input type='text' name='q" +
    189189                    questionNumber + "ans" + answerCount + "' value='" + optionStr + "' />";
    190                                                                                                                                                                                                                                
     190                                                                                                                                                                                                                                       
    191191                if (answersDiv.clicked == null)
    192192                {
     
    194194                        + " class='surveyButton' onclick='addOption(" + questionNumber + ")' value='Add Option' />" +
    195195                        "<input type='button' class='surveyButton' onclick='removeOption(" + questionNumber + ")' value='x' />";
    196                                                                                                                                                                                                    
     196                                                                                                                                                                                                           
    197197                    answersDiv.clicked = true;
    198198                }
    199                                                                                                                                                                                                                                                                
     199                                                                                                                                                                                                                                                                      
    200200                answerDiv.innerHTML = htmlStr;
    201                                                                                                                                                                                                
     201                                                                                                                                                                                                       
    202202                answerDiv.prev = answersDiv.lastAnswer; //singly linked list
    203203                answersDiv.lastAnswer = answerDiv;
    204                                                                                                                                                                                                                                                                
     204                                                                                                                                                                                                                                                                      
    205205                answersDiv.appendChild(answerDiv);
    206206                answersDiv.answerCount++;
    207207            }
    208                                                                                                                                                                                            
     208                                                                                                                                                                                                   
    209209            function removeOption(questionNumber)
    210210            {
    211211                var answersDiv = document.getElementById("answersDiv" + questionNumber);
    212                                                                                                                                                                                                
     212                                                                                                                                                                                                      
    213213                if (answersDiv.lastAnswer.prev != null)
    214214                {
     
    218218                }
    219219            }
    220                                                                                                                                                                                                                    
     220                                                                                                                                                                                                                           
    221221            function minMax(questionNumber, min, max)
    222222            {
     
    225225                if (max == null)
    226226                    var max = '';
    227                                                                                
     227                                                                                       
    228228                var answersDiv = document.getElementById("answersDiv" + questionNumber);
    229                                                                                                                                                                                                                        
     229                                                                                                                                                                                                                              
    230230                var answerDiv = document.createElement("div");
    231                                                                                                                                                                                        
     231                                                                                                                                                                                               
    232232                answerDiv.className = "answerDiv";
    233233                answerDiv.innerHTML = "<label for='min'>Min</label><input type='text' value='" + min + "' name='q" + questionNumber + "ans1' />" +
    234234                    "<label for='max'>Max</label><input type='text' value='" + max + "' name='q" + questionNumber + "ans2' />";
    235                                                                                                                                                                                                                    
     235                                                                                                                                                                                                                          
    236236                answersDiv.appendChild(answerDiv);
    237237            } 
    238                                                                                                                                                                                                                    
     238                                                                                                                                                                                                                           
    239239            function minMaxIncr(questionNumber, left, right, incr)
    240240            {
     
    245245                if (incr == null)
    246246                    var incr = '';
    247                                
     247                                       
    248248                var answersDiv = document.getElementById("answersDiv" + questionNumber);
    249                                                                                                                                                                                                                        
     249                                                                                                                                                                                                                              
    250250                var answerDiv = document.createElement("div");
    251251                answerDiv.className = "answerDiv";
     
    254254                    "<label>Scale count</label><input type='text' value='" + incr + "' name='q" + questionNumber + "ans3' />" +
    255255                    "<div id='inputCheckFeedback'" + questionNumber + "";
    256                                                                                                                                                                                                                    
     256                                                                                                                                                                                                                          
    257257                answersDiv.appendChild(answerDiv);
    258258            }         
    259                                                                                                                                                                                                                                                                          
    260259                                                                                                                                                                                                                                                                                 
     260                                                                                                                                                                                                                                                                                         
    261261            function addQuestion(title, description)
    262262            {
    263263                var questionsDiv = document.getElementById('questionsDiv');
    264264                var newQuestion = getNewQuestion(title, description);
    265                                                                                                                                                                                                                
     265                                                                                                                                                                                                                       
    266266
    267267                newQuestion.prev = document.lastQuestion;
     
    271271                questionCount++;
    272272            }
    273                                                                                                                                                                                                            
     273                                                                                                                                                                                                                   
    274274            function removeLastQuestion()
    275275            {
    276276                var questionsDiv = document.getElementById('questionsDiv');
    277                                                                                                                                                                                                                
     277                                                                                                                                                                                                                       
    278278                if (document.lastQuestion.prev != null)
    279279                {
     
    287287                }               
    288288            }
    289                                                                                                                                                                                      
     289                                                                                                                                                                                            
    290290            function save(surveyID)
    291291            {
     
    293293                var questionsDiv = document.getElementById('questionsDiv');
    294294                form.action = "surveycreation.php";
    295                                                                                                                                                        
     295                                                                                                                                                               
    296296                /* extra time stamp */
    297297                var date = new Date();
     
    304304                timeStampInput.value = timeStamp;
    305305                timeStampInput.type = "hidden";
    306                                                                                                            
     306                                                                                                                   
    307307                var surveyIDInput = document.createElement("input");
    308308                surveyIDInput.name = "surveyID";
    309309                surveyIDInput.value = surveyID;
    310310                surveyIDInput.type = "hidden";
    311                                                                                                                                      
     311                                                                                                                                            
    312312                questionsDiv.appendChild(timeStampInput);
    313313                questionsDiv.appendChild(surveyIDInput);
    314314                form.submit();
    315315            }
    316                                                                                                                                                                                                                    
    317                                                                                                                                                                                                                                                                                                                                                                                                    
     316                                                                                                                                                                                                                           
     317                                                                                                                                                                                                                                                                                                                                                                                                           
    318318        </script>
    319319        <?php
     
    371371                ?>
    372372                <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                                                           
    373381                    var answers = new Array();
    374382                <?php
     
    378386                }
    379387                ?>
    380                                                    
     388                                                                   
    381389                    addQuestion('<?php echo $question->title; ?>', '<?php echo $question->description; ?>');
    382                                                                                                                                                    
     390                                                                                                                                                                   
    383391                    var select = document.getElementById('<?php echo $numQ; ?>');
    384392                    var type = '<?php echo $question->type; ?>';
Note: See TracChangeset for help on using the changeset viewer.