50c039e3ba0c51416f7f1dde8cba2d175ac748b2
[oweals/karmaworld.git] / karmaworld / assets / js / quiz.js
1
2 function addForm(event) {
3
4   // check for:
5   // key pressed was TAB
6   // key was pressed in last row
7   if (event.which == 9 &&
8       (!$(this).closest('div.keyword-form-row').next().hasClass('keyword-form-row'))) {
9
10     var prototypeFormString = $('#keyword-form-prototype').text();
11     var newForm = $('#keyword-form-rows').append(prototypeFormString).find('.keyword-form-row:last');
12     var totalForms = $('#id_form-TOTAL_FORMS').attr('value');
13     var newIdRoot = 'id_form-' + totalForms + '-';
14     var newNameRoot = 'form-' + totalForms + '-';
15
16     var keywordInput = newForm.find('.keyword');
17     console.log(newForm);
18     console.log(keywordInput);
19     keywordInput.attr('id', newIdRoot + 'keyword');
20     keywordInput.attr('name', newNameRoot + 'keyword');
21
22     var definitionInput = newForm.find('.definition');
23     definitionInput.attr('id', newIdRoot + 'definition');
24     definitionInput.attr('name', newNameRoot + 'definition');
25     definitionInput.keydown(addForm);
26
27     var objectIdInput = newForm.find('.object-id');
28     objectIdInput.attr('id', newIdRoot + 'id');
29     objectIdInput.attr('name', newNameRoot + 'id');
30
31     $('#id_form-TOTAL_FORMS').attr('value', parseInt(totalForms)+1);
32
33   }
34 }
35
36 $(function() {
37   $('.definition').keydown(addForm);
38 });
39