Fix form submission for older IE versions
[edumed.git] / wtem / static / wtem / wtem.js
index 209108f..1c61498 100644 (file)
@@ -2,9 +2,9 @@ $(function() {
 
     var to_submit;
 
-    $('#submit_answers').click(function(e) {
-        e.preventDefault();
-        to_submit = [];
+    $('form').submit(function(e) {
+        //e.preventDefault();
+        to_submit = {};
 
         $('.exercise-wtem').each(function() {
             var el = $(this);
@@ -17,20 +17,42 @@ $(function() {
                 }
             }
         });
-        console.log(JSON.stringify(to_submit));
-        $('input[name=wtem_answers]').val(JSON.stringify(to_submit));
+        $('input[name=answers]').val(JSON.stringify(to_submit));
     });
 
+    var push_answer = function(el, answer) {
+        to_submit[el.attr('data-id')] = answer
+    };
+
     var handlers = {
         edumed: function(el) {
-            var exercise = el.data('exercise');
+            var exercise = el.data('exercise'),
+                to_push = {},
+                open_part;
             if(exercise.get_answers) {
-                to_submit.push(exercise.get_answers()[0]);
+                to_push.closed_part = exercise.get_answers()[0];
+            }
+            open_part = el.find('.open_part')
+            if(open_part.length) {
+                to_push.open_part = open_part.find('textarea').val();
             }
+
+            push_answer(el, to_push);
         },
 
         open: function(el) {
-            to_submit.push(el.find('textarea').val());
+            var textareas = el.find('textarea'),
+                to_push;
+            if(textareas.length === 1) {
+                to_push = el.find('textarea').val();
+            } else {
+                to_push = [];
+                textareas.each(function() {
+                    var textarea = $(this);
+                    to_push.push({'id': textarea.attr('data-field-id'), 'text': textarea.val()});
+                });
+            }
+            push_answer(el, to_push);
         }
     }