Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/AuthoringAction.java =================================================================== diff -u -r8c2289edbab42fcc74a5172d3b565c631ca4ba58 -racd1f9fc06208511d5f1af8b80b89b1566a8e0e3 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/AuthoringAction.java (.../AuthoringAction.java) (revision 8c2289edbab42fcc74a5172d3b565c631ca4ba58) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/AuthoringAction.java (.../AuthoringAction.java) (revision acd1f9fc06208511d5f1af8b80b89b1566a8e0e3) @@ -898,34 +898,39 @@ * * @param request */ - private List getInstructionsFromRequest(HttpServletRequest request) { - String list = request.getParameter("instructionList"); - String[] params = list.split("&"); - Map paramMap = new HashMap(); - String[] pair; - for (String item : params) { - pair = item.split("="); - if (pair == null || pair.length != 2) { - continue; - } - try { - paramMap.put(pair[0], URLDecoder.decode(pair[1], "UTF-8")); - } catch (UnsupportedEncodingException e) { - AuthoringAction.log.error("Error occurs when decode instruction string:" + e.toString()); - } - } + private List getInstructionsFromRequest(HttpServletRequest request) { + String list = request.getParameter("instructionList"); + String[] params = list.split("&"); + Map paramMap = new HashMap(); + String[] pair; + for (String item : params) { + pair = item.split("="); + if (pair == null || pair.length != 2) { + continue; + } + try { + paramMap.put(pair[0], URLDecoder.decode(pair[1], "UTF-8")); + } catch (UnsupportedEncodingException e) { + AuthoringAction.log + .error("Error occurs when decode instruction string:" + + e.toString()); + } + } + + int count = paramMap.keySet().size(); + List instructionList = new ArrayList(); + + for (int idx = 0; idx < count; idx++) { + String item = paramMap.get(AuthoringAction.INSTRUCTION_ITEM_DESC_PREFIX + idx); + if (item == null) + continue; + + instructionList.add(item); + } + + return instructionList; - int count = NumberUtils.stringToInt(paramMap.get(AuthoringAction.INSTRUCTION_ITEM_COUNT)); - List instructionList = new ArrayList(); - for (int idx = 0; idx < count; idx++) { - String item = paramMap.get(AuthoringAction.INSTRUCTION_ITEM_DESC_PREFIX + idx); - if (item == null) { - continue; - } - instructionList.add(item); } - return instructionList; - } /** * Get back relative ActionForward from request. Index: lams_tool_larsrc/web/includes/javascript/rsrcresourceitem.js =================================================================== diff -u -rfa4248fa3e32168af48f370a59d77a91b0e0cb20 -racd1f9fc06208511d5f1af8b80b89b1566a8e0e3 --- lams_tool_larsrc/web/includes/javascript/rsrcresourceitem.js (.../rsrcresourceitem.js) (revision fa4248fa3e32168af48f370a59d77a91b0e0cb20) +++ lams_tool_larsrc/web/includes/javascript/rsrcresourceitem.js (.../rsrcresourceitem.js) (revision acd1f9fc06208511d5f1af8b80b89b1566a8e0e3) @@ -104,9 +104,11 @@ } function submitResourceItem(){ - $("instructionList").value = Form.serialize("instructionForm"); - $("resourceItemForm").submit(); - //after submit, it direct to itemlist.jsp, + //$("instructionList").value = Form.serialize("instructionForm"); + document.getElementById("instructionList").value = $("#instructionForm").serialize(); + //$("#resourceItemForm").value = $("#instructionForm").serialize(); + $("#resourceItemForm").submit(); + // after submit, it direct to itemlist.jsp, // then refresh "basic tab" resourcelist and close this window. } function cancelResourceItem(){