Mercurial > hg > extraction-interface
comparison views/Extractapp/TaggingText.php @ 98:5bea390e7ca9 extractapp
new: short tag in front of long tag
| author | Zoe Hong <zhong@mpiwg-berlin.mpg.de> |
|---|---|
| date | Mon, 14 Mar 2016 14:43:42 +0100 |
| parents | c1bb174a22f3 |
| children | c3e149277b58 |
comparison
equal
deleted
inserted
replaced
| 97:c1bb174a22f3 | 98:5bea390e7ca9 |
|---|---|
| 281 $(document).on("mouseup", '#editable-area', function (e) { | 281 $(document).on("mouseup", '#editable-area', function (e) { |
| 282 $('.questionMarkClass').remove(); | 282 $('.questionMarkClass').remove(); |
| 283 $('.tagItemDivClass').remove(); | 283 $('.tagItemDivClass').remove(); |
| 284 | 284 |
| 285 if ( $("#editTextId").html() != "Edit the text" ) return 0; | 285 if ( $("#editTextId").html() != "Edit the text" ) return 0; |
| 286 var selection = getSelected(); | 286 |
| 287 | 287 //var selection = getSelected(); |
| 288 range = selection.getRangeAt(0); | 288 selection = getSelected(); // selection is a global variable |
| 289 | |
| 290 range = selection.getRangeAt(0); // range is a global variable | |
| 289 | 291 |
| 290 container = document.createElement("div"); | 292 container = document.createElement("div"); |
| 291 container.appendChild(selection.getRangeAt(0).cloneContents()); | 293 container.appendChild(selection.getRangeAt(0).cloneContents()); |
| 294 | |
| 292 | 295 |
| 293 if(selection && (selection_plain = new String(selection).replace(/^\s+|\s+$/g,''))) { | 296 if(selection && (selection_plain = new String(selection).replace(/^\s+|\s+$/g,''))) { |
| 294 try{ | 297 try{ |
| 295 var newdiv = document.createElement("div"); | 298 var newdiv = document.createElement("div"); |
| 296 //newdiv.id = "tagItemDivId"; | 299 //newdiv.id = "tagItemDivId"; |
| 354 $(tagging_tags).addClass("bg-white"); | 357 $(tagging_tags).addClass("bg-white"); |
| 355 $(tagging_tags).text("Tag as: "); | 358 $(tagging_tags).text("Tag as: "); |
| 356 | 359 |
| 357 tagging_tags.innerHTML += "<button accesskey=\"2\" onclick=\"tagwithtitle( range, '"+String(selection_plain)+"' )\">Title</button></br>"; | 360 tagging_tags.innerHTML += "<button accesskey=\"2\" onclick=\"tagwithtitle( range, '"+String(selection_plain)+"' )\">Title</button></br>"; |
| 358 | 361 |
| 362 | |
| 363 console.log(selection); | |
| 364 | |
| 365 | |
| 359 <?php | 366 <?php |
| 360 foreach ( $taglistArray as $taglistValue ) { | 367 foreach ( $taglistArray as $taglistValue ) { |
| 361 if ($taglistValue[2] == $topic_tag) { | 368 if ($taglistValue[2] == $topic_tag) { |
| 362 echo "tagging_tags.innerHTML += \"<button accesskey=\\\"1\\\" onclick=\\\"tagwithOnlytag( range, '\"+String(selection_plain)+\"', '".$taglistValue[2]."2' )\\\">".$taglistValue[1]."</button>\";\n"; | 369 echo "tagging_tags.innerHTML += \"<button accesskey=\\\"1\\\" onclick=\\\"tagwithOnlytag( range, selection, '".$taglistValue[2]."2' )\\\">".$taglistValue[1]."</button>\";\n"; |
| 363 echo "tagging_tags.innerHTML += \"<button accesskey=\\\"1\\\" onclick=\\\"tagwithOnlytag( range, '\"+String(selection_plain)+\"', '".$taglistValue[2]."' )\\\">".$taglistValue[1]."(without new line)</button>\";\n"; | 370 echo "tagging_tags.innerHTML += \"<button accesskey=\\\"1\\\" onclick=\\\"tagwithOnlytag( range, selection, '".$taglistValue[2]."' )\\\">".$taglistValue[1]."(without new line)</button>\";\n"; |
| 364 echo "tagging_tags.innerHTML += \"<button onclick=\\\"tagStringWithTag( '\"+String(selection_plain)+\"', '".$taglistValue[2]."' )\\\">".$taglistValue[1]."(ALL)</button></br>\";\n"; | 371 echo "tagging_tags.innerHTML += \"<button onclick=\\\"tagStringWithTag( '\"+String(selection_plain)+\"', '".$taglistValue[2]."' )\\\">".$taglistValue[1]."(ALL)</button></br>\";\n"; |
| 365 break; | 372 break; |
| 366 } | 373 } |
| 367 } | 374 } |
| 368 foreach ( $taglistArray as $taglistValue ) { | 375 foreach ( $taglistArray as $taglistValue ) { |
| 369 if ($taglistValue[2] == $topic_tag) { | 376 if ($taglistValue[2] == $topic_tag) { |
| 370 // pass | 377 // pass |
| 371 } else if ($taglistValue[2] == "post_time") { | 378 } else if ($taglistValue[2] == "post_time") { |
| 372 echo "tagging_tags.innerHTML += \"<button accesskey=\\\"3\\\" onclick=\\\"tagwithOnlytag( range, '\"+String(selection)+\"', '".$taglistValue[2]."' )\\\">Tag as:".$taglistValue[1]."</button>\";\n"; | 379 // this case could be deprecated |
| 380 echo "tagging_tags.innerHTML += \"<button accesskey=\\\"3\\\" onclick=\\\"tagwithOnlytag( range, selection, '".$taglistValue[2]."' )\\\">Tag as:".$taglistValue[1]."</button>\";\n"; | |
| 373 echo "tagging_tags.innerHTML += \"<button onclick=\\\"tagStringWithTag( '\"+String(selection)+\"', '".$taglistValue[2]."' )\\\">Tag as:".$taglistValue[1]."(ALL)</button></br>\";\n"; | 381 echo "tagging_tags.innerHTML += \"<button onclick=\\\"tagStringWithTag( '\"+String(selection)+\"', '".$taglistValue[2]."' )\\\">Tag as:".$taglistValue[1]."(ALL)</button></br>\";\n"; |
| 374 } else if ($taglistValue[2] == "office") { | 382 } else if ($taglistValue[2] == "office") { |
| 375 echo "tagging_tags.innerHTML += \"<button accesskey=\\\"4\\\" onclick=\\\"tagwithOnlytag( range, '\"+String(selection)+\"', '".$taglistValue[2]."' )\\\">".$taglistValue[1]."</button>\";\n"; | 383 // this case could be deprecated |
| 384 echo "tagging_tags.innerHTML += \"<button accesskey=\\\"4\\\" onclick=\\\"tagwithOnlytag( range, selection, '".$taglistValue[2]."' )\\\">".$taglistValue[1]."</button>\";\n"; | |
| 376 echo "tagging_tags.innerHTML += \"<button onclick=\\\"tagStringWithTag( '\"+String(selection)+\"', '".$taglistValue[2]."' )\\\">".$taglistValue[1]."(ALL)</button></br>\";\n"; | 385 echo "tagging_tags.innerHTML += \"<button onclick=\\\"tagStringWithTag( '\"+String(selection)+\"', '".$taglistValue[2]."' )\\\">".$taglistValue[1]."(ALL)</button></br>\";\n"; |
| 377 } else { | 386 } else { |
| 387 echo "tagging_tags.innerHTML += \"<button onclick=\\\"tagwithOnlytag(range, selection, '".$taglistValue[2]."')\\\">".$taglistValue[1]."</button>\";\n"; | |
| 388 echo "tagging_tags.innerHTML += \"<button onclick=\\\"tagStringWithTag( '\"+String(selection)+\"', '".$taglistValue[2]."' )\\\">".$taglistValue[1]."(ALL)</button></br>\";\n"; | |
| 389 | |
| 390 /* testing... backup the original one | |
| 391 | |
| 378 echo "tagging_tags.innerHTML += \"<button onclick=\\\"tagwithOnlytag( range, '\"+String(selection)+\"', '".$taglistValue[2]."' )\\\">".$taglistValue[1]."</button>\";\n"; | 392 echo "tagging_tags.innerHTML += \"<button onclick=\\\"tagwithOnlytag( range, '\"+String(selection)+\"', '".$taglistValue[2]."' )\\\">".$taglistValue[1]."</button>\";\n"; |
| 379 echo "tagging_tags.innerHTML += \"<button onclick=\\\"tagStringWithTag( '\"+String(selection)+\"', '".$taglistValue[2]."' )\\\">".$taglistValue[1]."(ALL)</button></br>\";\n"; | 393 echo "tagging_tags.innerHTML += \"<button onclick=\\\"tagStringWithTag( '\"+String(selection)+\"', '".$taglistValue[2]."' )\\\">".$taglistValue[1]."(ALL)</button></br>\";\n"; |
| 394 */ | |
| 395 | |
| 380 } | 396 } |
| 381 } | 397 } |
| 382 ?> | 398 ?> |
| 383 | 399 |
| 384 newdiv.appendChild(tagging_tags); | 400 newdiv.appendChild(tagging_tags); |
| 563 form.appendChild(hiddenField); | 579 form.appendChild(hiddenField); |
| 564 | 580 |
| 565 _postForContineTagging(form); | 581 _postForContineTagging(form); |
| 566 | 582 |
| 567 } | 583 } |
| 568 // =========== | 584 |
| 569 | 585 |
| 570 function tagwithOnlytag( range, stringSelection, tag ) { | 586 function tagTestX(range, selection, tag) { |
| 587 console.log("selection string: "); | |
| 588 console.log(String(selection)); | |
| 589 | |
| 590 var stringSelection = String(selection); | |
| 591 | |
| 592 saveUndoText(); | |
| 593 var topic_tag = JSON.parse('<?php echo json_encode($topic_tag) ?>'); | |
| 594 var topic_tag2 = topic_tag+"2"; | |
| 595 | |
| 596 | |
| 597 // stringSelection here only contains plain text (string) without the tagging structure | |
| 598 // how to use the existing tagging structure | |
| 599 | |
| 600 // --- | |
| 601 var documentFragment = range.extractContents(); | |
| 602 | |
| 603 | |
| 604 var tmpStringSelection = "" | |
| 605 var childNodes = documentFragment.childNodes | |
| 606 for (var i = 0; i < childNodes.length; i++){ | |
| 607 | |
| 608 if (childNodes[i].outerHTML == undefined) { | |
| 609 | |
| 610 tmpStringSelection += childNodes[i].textContent | |
| 611 } else { | |
| 612 | |
| 613 tmpStringSelection += childNodes[i].outerHTML | |
| 614 } | |
| 615 | |
| 616 } | |
| 617 | |
| 618 stringSelection = tmpStringSelection | |
| 619 | |
| 620 range.deleteContents(); | |
| 621 | |
| 622 if ( tag==topic_tag2) { | |
| 623 var newdiv = document.createElement(topic_tag); | |
| 624 newdiv.innerHTML = stringSelection; | |
| 625 range.insertNode(newdiv); | |
| 626 var newdiv = document.createElement("br"); | |
| 627 range.insertNode(newdiv); | |
| 628 | |
| 629 } else { | |
| 630 var newdiv = document.createElement(tag); | |
| 631 newdiv.innerHTML = stringSelection; | |
| 632 range.insertNode(newdiv); | |
| 633 } | |
| 634 | |
| 635 | |
| 636 $('.tagItemDivClass').remove(); | |
| 637 | |
| 638 | |
| 639 return | |
| 640 | |
| 641 | |
| 642 // --- | |
| 643 | |
| 644 console.log("the anchorNode: "); | |
| 645 console.log(selection.anchorNode); | |
| 646 | |
| 647 console.log("the anchorNode's nextSibling"); | |
| 648 console.log(next); | |
| 649 | |
| 650 | |
| 651 // TODO if no fragment... bug | |
| 652 | |
| 653 if ( typeof selection !== 'string' ) { | |
| 654 var next = selection.anchorNode.nextSibling; | |
| 655 | |
| 656 | |
| 657 | |
| 658 // TODO fragment at the beginning of selection: anchorNode | |
| 659 var tmpStringSelection = "" | |
| 660 | |
| 661 var startInx = selection.anchorOffset | |
| 662 var endSelectionInx = startInx + stringSelection.length | |
| 663 var endInx = selection.anchorNode.length | |
| 664 console.log("startInx=" + startInx + " endInx= " + endInx + "; endSelectionInx= " + endSelectionInx) | |
| 665 | |
| 666 var anchorText = selection.anchorNode.textContent | |
| 667 | |
| 668 | |
| 669 /* | |
| 670 console.log("anchorNode...") | |
| 671 if (selection.anchorNode.nodeType == 3 && next.nodeName != "BR" && next.nodeName != "br") { | |
| 672 // if (next != null && selection.anchorNode.nodeType == 3 && next.nodeName != "BR" && next.nodeName != "br") { | |
| 673 // here the anchor node is text | |
| 674 | |
| 675 //tmpStringSelection += anchorText.substring(selection.anchorOffset, selection.anchorNode.length); | |
| 676 tmpStringSelection += anchorText.substring(startInx, endSelectionInx); | |
| 677 | |
| 678 console.log("append anchorText to tmpStringSelection: " + tmpStringSelection) | |
| 679 | |
| 680 endInx += endSelectionInx - startInx; | |
| 681 | |
| 682 //endInx += (selection.anchorNode.length - selection.anchorOffset); | |
| 683 | |
| 684 | |
| 685 } | |
| 686 */ | |
| 687 | |
| 688 // TODO when anchorNode is not text, but a node | |
| 689 | |
| 690 | |
| 691 /* | |
| 692 if (next != null) { | |
| 693 | |
| 694 if (selection.anchorNode.nodeType == 3 && next.nodeName != "BR" && next.nodeName != "br") { | |
| 695 var anchorText = selection.anchorNode.textContent | |
| 696 // never goes here? | |
| 697 tmpStringSelection += anchorText.substring(selection.anchorOffset, selection.anchorNode.length); | |
| 698 | |
| 699 console.log("append anchorText to tmpStringSelection: " + tmpStringSelection) | |
| 700 | |
| 701 | |
| 702 } | |
| 703 } | |
| 704 */ | |
| 705 | |
| 706 // TODO parsing stringSelection object in string, with the tagging strucutre | |
| 707 | |
| 708 var checkExtentNode = true | |
| 709 | |
| 710 while(next != null && next != undefined && next.nodeName != "BR" && next.nodeName != "br" ) { | |
| 711 | |
| 712 /* | |
| 713 if (endInx >= endSelectionInx) { | |
| 714 console.log("startInx=" + startInx + " endInx= " + endInx + "; endSelectionInx= " + endSelectionInx) | |
| 715 | |
| 716 console.log("debug: end of traverse. next=") | |
| 717 console.log(next) | |
| 718 | |
| 719 break; | |
| 720 } | |
| 721 */ | |
| 722 | |
| 723 startInx = endInx | |
| 724 | |
| 725 if (next.nodeType == 3) { // text case | |
| 726 console.log("text case.") | |
| 727 | |
| 728 endInx += next.textContent.length | |
| 729 | |
| 730 if (endInx > endSelectionInx) { | |
| 731 | |
| 732 /* | |
| 733 tmpStringSelection += next.textContent.substring(0, endSelectionInx-startInx) | |
| 734 | |
| 735 console.log("startInx=" + startInx + " endInx= " + endInx + "; endSelectionInx= " + endSelectionInx) | |
| 736 console.log("appened next.textContent.substring tmpStringSelection (text case): " + tmpStringSelection) | |
| 737 */ | |
| 738 | |
| 739 //checkExtentNode = false | |
| 740 | |
| 741 //break; | |
| 742 } else { | |
| 743 | |
| 744 | |
| 745 tmpStringSelection += next.textContent; | |
| 746 console.log("appened tmpStringSelection (text case): " + tmpStringSelection) | |
| 747 | |
| 748 | |
| 749 } | |
| 750 | |
| 751 | |
| 752 | |
| 753 } else if (next.nodeType == 1) { // node case | |
| 754 console.log("node case") | |
| 755 | |
| 756 endInx += next.innerHTML.length | |
| 757 | |
| 758 if (endInx > endSelectionInx) { | |
| 759 | |
| 760 // TODO do something about tmpStringSelection here? | |
| 761 | |
| 762 console.log("startInx=" + startInx + " endInx= " + endInx + "; endSelectionInx= " + endSelectionInx) | |
| 763 | |
| 764 | |
| 765 //checkExtentNode = false | |
| 766 | |
| 767 //break; | |
| 768 } else { | |
| 769 | |
| 770 | |
| 771 tmpStringSelection += next.outerHTML; | |
| 772 console.log("appened tmpStringSelection (node case): " + tmpStringSelection) | |
| 773 // endInx += next.outerHTML.length | |
| 774 } | |
| 775 | |
| 776 | |
| 777 } else { | |
| 778 console.log("[debug] case: nodeType=" + next.nodeType) | |
| 779 } | |
| 780 | |
| 781 | |
| 782 /* | |
| 783 | |
| 784 } else if (next.innerHTML != undefined) { | |
| 785 | |
| 786 | |
| 787 endInx += next.innerHTML.length; | |
| 788 if (endInx >= endSelectionInx) { | |
| 789 break; | |
| 790 } | |
| 791 | |
| 792 | |
| 793 } else { | |
| 794 break | |
| 795 } | |
| 796 console.log("startInx= " + startInx + "; endInx= " + endInx) | |
| 797 if (next.outerHTML != undefined) { | |
| 798 tmpStringSelection += next.outerHTML; | |
| 799 console.log("appened tmpStringSelection: " + tmpStringSelection) | |
| 800 | |
| 801 } | |
| 802 */ | |
| 803 | |
| 804 console.log("next: "); | |
| 805 console.log(next); | |
| 806 next = next.nextSibling; | |
| 807 | |
| 808 } | |
| 809 | |
| 810 | |
| 811 // TODO | |
| 812 // fragment at the end of selection: extentNode | |
| 813 | |
| 814 console.log("extentNode...") | |
| 815 console.log("startInx=" + startInx + " endInx= " + endInx + "; endSelectionInx= " + endSelectionInx) | |
| 816 | |
| 817 var extentNode = selection.extentNode | |
| 818 | |
| 819 | |
| 820 if (checkExtentNode) { | |
| 821 | |
| 822 if (endInx < endSelectionInx && startInx < endSelectionInx ) { | |
| 823 tmpStringSelection += anchorText.substring(endInx, endSelectionInx); | |
| 824 console.log("append anchorText.substring(endInx, endSelectionInx) to tmpStringSelection: " + tmpStringSelection) | |
| 825 | |
| 826 } else if (extentNode != null) { | |
| 827 var extentText = extentNode.textContent | |
| 828 | |
| 829 tmpStringSelection += extentText.substring(startInx, endSelectionInx); | |
| 830 | |
| 831 console.log("append extentNode to tmpStringSelection: " + tmpStringSelection) | |
| 832 } else { | |
| 833 tmpStringSelection += anchorText.substring(startInx, endSelectionInx); | |
| 834 console.log("append anchorText.substring(startInx, endSelectionInx) to tmpStringSelection: " + tmpStringSelection) | |
| 835 } | |
| 836 } | |
| 837 | |
| 838 /* | |
| 839 if (extentNode != null) { | |
| 840 if (extentNode.nodeType == 3 ) { // text case | |
| 841 var extentText = extentNode.textContent | |
| 842 | |
| 843 if (endInx >= endSelectionInx) { | |
| 844 | |
| 845 console.log("tmpStringSelection: " + tmpStringSelection) | |
| 846 | |
| 847 console.log(extentText.substring(startInx, selection.extentOffset)) | |
| 848 tmpStringSelection += extentText.substring(startInx, endSelectionInx); | |
| 849 | |
| 850 console.log("append extentNode to tmpStringSelection: " + tmpStringSelection) | |
| 851 | |
| 852 } else { | |
| 853 tmpStringSelection += anchorText.substring(endInx, endSelectionInx); | |
| 854 | |
| 855 } | |
| 856 } | |
| 857 } | |
| 858 */ | |
| 859 | |
| 860 console.log("tmpStringSelection:") | |
| 861 console.log(tmpStringSelection) | |
| 862 stringSelection = tmpStringSelection; | |
| 863 | |
| 864 } | |
| 865 | |
| 866 range.deleteContents(); | |
| 867 | |
| 868 if ( tag==topic_tag2) { | |
| 869 var newdiv = document.createElement(topic_tag); | |
| 870 newdiv.innerHTML = stringSelection; | |
| 871 range.insertNode(newdiv); | |
| 872 var newdiv = document.createElement("br"); | |
| 873 range.insertNode(newdiv); | |
| 874 | |
| 875 } else { | |
| 876 var newdiv = document.createElement(tag); | |
| 877 newdiv.innerHTML = stringSelection; | |
| 878 range.insertNode(newdiv); | |
| 879 } | |
| 880 | |
| 881 | |
| 882 $('.tagItemDivClass').remove(); | |
| 883 | |
| 884 | |
| 885 } | |
| 886 | |
| 887 function tagwithOnlytag( range, selection, tag ) { | |
| 888 | |
| 889 saveUndoText(); | |
| 890 var topic_tag = JSON.parse('<?php echo json_encode($topic_tag) ?>'); | |
| 891 var topic_tag2 = topic_tag+"2"; | |
| 892 | |
| 893 var documentFragment = range.extractContents(); | |
| 894 | |
| 895 | |
| 896 var stringSelection = "" | |
| 897 var childNodes = documentFragment.childNodes | |
| 898 for (var i = 0; i < childNodes.length; i++){ | |
| 899 if (childNodes[i].outerHTML == undefined) { | |
| 900 stringSelection += childNodes[i].textContent | |
| 901 } else { | |
| 902 stringSelection += childNodes[i].outerHTML | |
| 903 } | |
| 904 | |
| 905 } | |
| 906 range.deleteContents(); | |
| 907 | |
| 908 if ( tag==topic_tag2) { | |
| 909 var newdiv = document.createElement(topic_tag); | |
| 910 newdiv.innerHTML = stringSelection; | |
| 911 range.insertNode(newdiv); | |
| 912 var newdiv = document.createElement("br"); | |
| 913 range.insertNode(newdiv); | |
| 914 | |
| 915 } else { | |
| 916 var newdiv = document.createElement(tag); | |
| 917 newdiv.innerHTML = stringSelection; | |
| 918 range.insertNode(newdiv); | |
| 919 } | |
| 920 | |
| 921 | |
| 922 $('.tagItemDivClass').remove(); | |
| 923 } | |
| 924 | |
| 925 function tagwithOnlytag_old( range, stringSelection, tag ) { | |
| 571 saveUndoText(); | 926 saveUndoText(); |
| 572 var topic_tag = JSON.parse('<?php echo json_encode($topic_tag) ?>'); | 927 var topic_tag = JSON.parse('<?php echo json_encode($topic_tag) ?>'); |
| 573 var topic_tag2 = topic_tag+"2"; | 928 var topic_tag2 = topic_tag+"2"; |
| 574 | 929 |
| 575 range.deleteContents(); | 930 range.deleteContents(); |
| 784 var topic_select = document.createElement("select"); | 1139 var topic_select = document.createElement("select"); |
| 785 topic_select.id = "loadTopiclist"; | 1140 topic_select.id = "loadTopiclist"; |
| 786 var selected_topic = t[0]; | 1141 var selected_topic = t[0]; |
| 787 topic_select.onchange = function(){ | 1142 topic_select.onchange = function(){ |
| 788 | 1143 |
| 789 selected_topic = topic_select.options[topic_select.selectedIndex]; | 1144 var changeConfirm = confirm("You're going to change topic. \nUnsaved data will be lost."); |
| 790 console.log(selected_topic.text); | 1145 |
| 791 | 1146 if (changeConfirm) { |
| 792 var topic_id = selected_topic.value; | 1147 |
| 793 | 1148 selected_topic = topic_select.options[topic_select.selectedIndex]; |
| 794 var form = document.createElement("form"); | 1149 console.log(selected_topic.text); |
| 795 form.setAttribute("method", "post"); | 1150 |
| 796 form.setAttribute("action", "./TaggingText"); // hand to controller | 1151 var topic_id = selected_topic.value; |
| 797 form.setAttribute("target", "_self"); | 1152 |
| 798 | 1153 var form = document.createElement("form"); |
| 799 var hiddenField = document.createElement("input"); | 1154 form.setAttribute("method", "post"); |
| 800 hiddenField.setAttribute("name", "topic"); | 1155 form.setAttribute("action", "./TaggingText"); // hand to controller |
| 801 hiddenField.setAttribute("value", topic_id); | 1156 form.setAttribute("target", "_self"); |
| 802 form.appendChild(hiddenField); | 1157 |
| 803 | 1158 var hiddenField = document.createElement("input"); |
| 804 var hiddenField = document.createElement("input"); | 1159 hiddenField.setAttribute("name", "topic"); |
| 805 hiddenField.setAttribute("name", "func"); | 1160 hiddenField.setAttribute("value", topic_id); |
| 806 hiddenField.setAttribute("value", "ContinueTagging"); | 1161 form.appendChild(hiddenField); |
| 807 form.appendChild(hiddenField); | 1162 |
| 808 | 1163 var hiddenField = document.createElement("input"); |
| 809 _postForContineTagging(form); | 1164 hiddenField.setAttribute("name", "func"); |
| 810 | 1165 hiddenField.setAttribute("value", "ContinueTagging"); |
| 1166 form.appendChild(hiddenField); | |
| 1167 | |
| 1168 _postForContineTagging(form); | |
| 1169 | |
| 1170 | |
| 1171 } else { | |
| 1172 return | |
| 1173 } | |
| 811 }; | 1174 }; |
| 812 | 1175 |
| 813 | 1176 |
| 814 //Create and append the options | 1177 //Create and append the options |
| 815 for (var i = 0; i < t.length; i++) { | 1178 for (var i = 0; i < t.length; i++) { |
