Mercurial > hg > webaudioevaluationtool
comparison ape.js @ 105:3c6d3f013c40
jQuery use for childNodes for manipulating set up XML. Now works on Safari
author | Nicholas Jillings <nicholas.jillings@eecs.qmul.ac.uk> |
---|---|
date | Sun, 17 May 2015 21:35:30 +0100 |
parents | 2dde0209be3d |
children | f2c05f147dd2 |
comparison
equal
deleted
inserted
replaced
103:e4436132dbd9 | 105:3c6d3f013c40 |
---|---|
240 postTest = postTest[0]; | 240 postTest = postTest[0]; |
241 | 241 |
242 currentState = 'preTest'; | 242 currentState = 'preTest'; |
243 | 243 |
244 // Create Pre-Test Box | 244 // Create Pre-Test Box |
245 if (preTest != undefined && preTest.children.length >= 1) | 245 if (preTest != undefined && preTest.childElementCount >= 1) |
246 { | 246 { |
247 showPopup(); | 247 showPopup(); |
248 preTestPopupStart(preTest); | 248 preTestPopupStart(preTest); |
249 } | 249 } |
250 | 250 |
538 }); | 538 }); |
539 | 539 |
540 // Now process any pre-test commands | 540 // Now process any pre-test commands |
541 | 541 |
542 var preTest = $(testXMLSetups[id]).find('PreTest')[0]; | 542 var preTest = $(testXMLSetups[id]).find('PreTest')[0]; |
543 if (preTest.children.length > 0) | 543 if (preTest.childElementCount > 0) |
544 { | 544 { |
545 currentState = 'testRunPre-'+id; | 545 currentState = 'testRunPre-'+id; |
546 preTestPopupStart(preTest); | 546 preTestPopupStart(preTest); |
547 showPopup(); | 547 showPopup(); |
548 } else { | 548 } else { |
557 // Parse the first box | 557 // Parse the first box |
558 var preTestOption = document.createElement('div'); | 558 var preTestOption = document.createElement('div'); |
559 preTestOption.id = 'preTest'; | 559 preTestOption.id = 'preTest'; |
560 preTestOption.style.marginTop = '25px'; | 560 preTestOption.style.marginTop = '25px'; |
561 preTestOption.align = "center"; | 561 preTestOption.align = "center"; |
562 var child = preTest.children[0]; | 562 var child = $(preTest).children()[0]; |
563 if (child.nodeName == 'statement') | 563 if (child.nodeName == 'statement') |
564 { | 564 { |
565 preTestOption.innerHTML = '<span>'+child.innerHTML+'</span>'; | 565 preTestOption.innerHTML = '<span>'+child.textContent+'</span>'; |
566 } else if (child.nodeName == 'question') | 566 } else if (child.nodeName == 'question') |
567 { | 567 { |
568 var questionId = child.attributes['id'].value; | 568 var questionId = child.attributes['id'].value; |
569 var textHold = document.createElement('span'); | 569 var textHold = document.createElement('span'); |
570 textHold.innerHTML = child.innerHTML; | 570 textHold.innerHTML = child.textContent; |
571 textHold.id = questionId + 'response'; | 571 textHold.id = questionId + 'response'; |
572 var textEnter = document.createElement('textarea'); | 572 var textEnter = document.createElement('textarea'); |
573 preTestOption.appendChild(textHold); | 573 preTestOption.appendChild(textHold); |
574 preTestOption.appendChild(textEnter); | 574 preTestOption.appendChild(textEnter); |
575 } | 575 } |
617 { | 617 { |
618 // Called on click of pre-test button | 618 // Called on click of pre-test button |
619 // Need to find and parse preTest again! | 619 // Need to find and parse preTest again! |
620 var preTestOption = document.getElementById('preTest'); | 620 var preTestOption = document.getElementById('preTest'); |
621 // Check if current state is a question! | 621 // Check if current state is a question! |
622 if (preTest.children[index].nodeName == 'question') { | 622 if ($(preTest).children()[index].nodeName == 'question') { |
623 var questionId = preTest.children[index].attributes['id'].value; | 623 var questionId = $(preTest).children()[index].attributes['id'].value; |
624 var questionHold = document.createElement('comment'); | 624 var questionHold = document.createElement('comment'); |
625 var questionResponse = document.getElementById(questionId + 'response'); | 625 var questionResponse = document.getElementById(questionId + 'response'); |
626 var mandatory = preTest.children[index].attributes['mandatory']; | 626 var mandatory = $(preTest).children()[index].attributes['mandatory']; |
627 if (mandatory != undefined){ | 627 if (mandatory != undefined){ |
628 if (mandatory.value == 'true') {mandatory = true;} | 628 if (mandatory.value == 'true') {mandatory = true;} |
629 else {mandatory = false;} | 629 else {mandatory = false;} |
630 } else {mandatory = false;} | 630 } else {mandatory = false;} |
631 if (mandatory == true && questionResponse.value.length == 0) { | 631 if (mandatory == true && questionResponse.value.length == 0) { |
634 questionHold.id = questionId; | 634 questionHold.id = questionId; |
635 questionHold.innerHTML = questionResponse.value; | 635 questionHold.innerHTML = questionResponse.value; |
636 postPopupResponse(questionHold); | 636 postPopupResponse(questionHold); |
637 } | 637 } |
638 index++; | 638 index++; |
639 if (index < preTest.children.length) | 639 if (index < preTest.childElementCount) |
640 { | 640 { |
641 // More to process | 641 // More to process |
642 var child = preTest.children[index]; | 642 var child = $(preTest).children()[index]; |
643 if (child.nodeName == 'statement') | 643 if (child.nodeName == 'statement') |
644 { | 644 { |
645 preTestOption.innerHTML = '<span>'+child.innerHTML+'</span>'; | 645 preTestOption.innerHTML = '<span>'+child.textContent+'</span>'; |
646 } else if (child.nodeName == 'question') | 646 } else if (child.nodeName == 'question') |
647 { | 647 { |
648 var textHold = document.createElement('span'); | 648 var textHold = document.createElement('span'); |
649 textHold.innerHTML = child.innerHTML; | 649 textHold.innerHTML = child.textContent; |
650 var textEnter = document.createElement('textarea'); | 650 var textEnter = document.createElement('textarea'); |
651 textEnter.id = child.attributes['id'].value + 'response'; | 651 textEnter.id = child.attributes['id'].value + 'response'; |
652 var br = document.createElement('br'); | 652 var br = document.createElement('br'); |
653 preTestOption.innerHTML = null; | 653 preTestOption.innerHTML = null; |
654 preTestOption.appendChild(textHold); | 654 preTestOption.appendChild(textHold); |
749 // Check if we have any post tests to perform | 749 // Check if we have any post tests to perform |
750 var postXML = $(testXMLSetups[testId]).find('PostTest')[0]; | 750 var postXML = $(testXMLSetups[testId]).find('PostTest')[0]; |
751 if (postXML == undefined) { | 751 if (postXML == undefined) { |
752 testEnded(testId); | 752 testEnded(testId); |
753 } | 753 } |
754 else if (postXML.children.length > 0) | 754 else if (postXML.childElementCount > 0) |
755 { | 755 { |
756 currentState = 'testRunPost-'+testId; | 756 currentState = 'testRunPost-'+testId; |
757 showPopup(); | 757 showPopup(); |
758 preTestPopupStart(postXML); | 758 preTestPopupStart(postXML); |
759 } | 759 } |