b.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. function Search(node,dao,sql,param)
  2. {
  3. this.node = node;
  4. model.makeValue(node+"/dao",dao);
  5. model.makeValue(node+"/sqlkey",sql);
  6. model.makeValue(node+"/param",param);
  7. this.sendReq = function()
  8. {
  9. this.commSendReq(node);
  10. };
  11. this.reset = function()
  12. {
  13. model.removenode(node);
  14. model.makeNode(node);
  15. };
  16. this.commSendReq = function (){
  17. try
  18. {
  19. var length = arguments.length;
  20. model.removeNodeset("/root/reqData");
  21. model.makeNode("/root/reqData");
  22. for(var j = 0; j<length; j++){
  23. var srcref = arguments[j];
  24. var dup_node = instance1.selectSingleNode(srcref); //두번째로 보내고 싶은 노드를 선택
  25. var dup_nodeList = dup_node.childNodes; //그 노드의 하위노드를 읽음
  26. var cnt =1;
  27. for (var i = 0; i < dup_nodeList.length; i++)
  28. {
  29. var copy_node = srcref+"/"+dup_nodeList.item(i).nodeName; //하위노드의 인스턴스를 읽어서 노드 조합
  30. var nodeSetYn = instance1.selectNodes(copy_node);
  31. if(nodeSetYn.length>1) {
  32. model.duplicate("/root/reqData", copy_node+"["+cnt+"]"); // 노드셑인경우 같은 노드이름의 인덱스값으로 찾아서 복사한다
  33. cnt++;
  34. } else {
  35. model.duplicate("/root/reqData", copy_node);
  36. }
  37. }
  38. }
  39. }
  40. catch (e)
  41. {
  42. model.alert("Error", "해당노드의 선택이 잘못되었습니다");
  43. return false;
  44. }
  45. };
  46. }