hyeonk lab

블로그 이미지

hyeonk

hello world! hyeonk lab.

input 텍스트박스 동적추가

javascript 2011. 1. 7. 13:50

텍스트박스를 동적으로 추가, 삭제 할 수 있는 함수다.
예제를 구해다가 내 의도에 맞게 수정하여 썼다.
동적추가할때 name값을 동일하게 주면
ASP에서 request("name변수")를 했을때 자동으로 ","로 구분되어 배열변수로 저장된다.
물론, 항목이 1개일땐 그냥변수로 저장된다.
해서 배열일때와 아닐때 등을 처리해야 했다.
var oCell1 = oRow.insertCell(); 의 Cell1은 1열을 Insert한단 뜻이다.
폼검사도 name이 있을때, 없을때, 배열인지 구분해서 처리해야 했다.

* 내가 처리한 부분
- 버튼을 클릭하여 항목을 모두 삭제해서 name이 없을때
- 항목추가 최대갯수 제한
- 폼검사 -> name값, 배열변수인지 구분해서 처리

//텍스트박스 동적추가
function addRow() {
  var form = eval("document.signform");

 if( form.getAttribute('fr_nm') ) //fr_nm이 널일때 처리. name에 fr_nm이 있는지 체크
 {
   if (form.fr_nm.length >= 10) //갯수를 최대 10개로 제한
   {
  alert("항목은 최대 10개까지 가능합니다.");
  form.fr_nm(9).focus();
  return;
   }
 }

  var oRow = nm_dyntb.insertRow();
  oRow.onmouseover=function(){nm_dyntb.clickedRowIndex=this.rowIndex};
  var oCell1 = oRow.insertCell();
  var oCell2 = oRow.insertCell();

  oCell1.innerHTML = "";
  oCell2.innerHTML = "포함문자열 <input type=text size=14 maxlength=14 name=fr_nm value=\"\" onKeyPress=\"Check_SChar(this);\">, <input type=text size=2 maxlength=2 name=fr_nm_cnt value=\"\" onKeyPress=\"Check_SChar(this);\"> 건 <input type=button value=\" X \" onClick=\"delRow()\">";

  document.recalc();
}

//텍스트박스 동적삭제
function delRow() {
  nm_dyntb.deleteRow(nm_dyntb.clickedRowIndex);
}


/* 폼검사 함수에 처리해야 할 부분이다. */
var form = eval("document.signform");
 if( form.getAttribute('fr_nm') )   //name에 fr_nm이 있을때만 수행
 {
   if (isArray(form.fr_nm) )    //배열이면,
   {
  for (i=0; i<form.fr_nm.length; i++) //배열 동적텍스트박스는 루프돌면서 처리.
  {
          //배열변수 폼검사 처리
  }
   }
   else           //배열이 아니면 한번만 처리.
   {  
          //폼검사 처리
   }
 }

'javascript' 카테고리의 다른 글

encodeURIComponent  (0) 2010.12.30
체크박스 전체선택,해제  (0) 2010.07.24
Posted by hyeonk

encodeURIComponent

javascript 2010. 12. 30. 11:18

주소창에 변수값을 넘겨서 검색사이트의 검색어로 지정할때 쓰이는 함수.

String을 UTF-8로 인코딩해준다.

영문은 그대로 전달되고, 한글같은경우는 깨져서 전송되던것이 이 함수를 쓰면 인코딩되어 전송되어

깨지지않고 제대로 값이 전달된다.

사용예시는

encodeURIComponent(str);

이런식이다.

이거 몰라서 한참 고생했던 기억이...

'javascript' 카테고리의 다른 글

input 텍스트박스 동적추가  (0) 2011.01.07
체크박스 전체선택,해제  (0) 2010.07.24
Posted by hyeonk

최대한 Index를 타게 하자.

oracle 2010. 10. 14. 09:38

최근 쿼리속도가 너무 느려 쿼리를 살펴봤더니
인덱스를 타야하는 컬럼인데도 불구하고 인덱스를 타지 않았다.

이유인즉슨, 쿼리문에 인덱스컬럼에 변형을 가하면
오라클이 쿼리수행계획에서 인덱스를 타지않는다는 것이었다.

그래서 컬럼 그대로 쿼리문을 작성했더니 인덱스를 타더랬다.

쿼리문에서 컬럼에 변형을 가하는경우는 주로 substr()과 같은 함수이다.
이 함수를 컬럼에 쓸때는 인덱스 컬럼인지 주의깊게 살펴보자.

* 예제 - date 컬럼이 인덱스인 경우
SELECT date, flag FROM TABLE WHERE substr(date, 1, 10) <= '2010-10-14';
-> date컬럼이 인덱스라면, substr로 변형이 일어나 index를 타지 않게되어 쿼리속도가 저하된다.

SELECT date, flag FROM TABLE WHERE date <= '2010-10-14 13:15:10';
-> 차라리 이렇게 인덱스 컬럼을 원형대로 써주고 비교하는 부분을 인덱스컬럼 원형에 맞게 변형해줘야
     인덱스를 탄다.

'oracle' 카테고리의 다른 글

Oracle Index  (0) 2013.01.10
UNION, UNION ALL  (0) 2010.05.27
Posted by hyeonk
이전페이지 다음페이지
블로그 이미지

hello world! hyeonk lab.

by hyeonk

공지사항

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

태그

글 보관함

«   2025/12   »
일 월 화 수 목 금 토
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

링크

카테고리

전체 (44)
ios (1)
mfc & winAPI (17)
c & c++ (4)
java (1)
eclipse (1)
visual_studio (2)
javascript (3)
asp (1)
oracle (3)
개발이야기 (5)
윈도우 일반 (2)
etc (2)
reference (2)
personal_reference (0)

카운터

Total
Today
Yesterday
방명록 : 관리자 : 글쓰기
hyeonk's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

hyeonk lab

hello world! hyeonk lab.

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 전체 (44)
    • ios (1)
    • mfc & winAPI (17)
    • c & c++ (4)
    • java (1)
    • eclipse (1)
    • visual_studio (2)
    • javascript (3)
    • asp (1)
    • oracle (3)
    • 개발이야기 (5)
    • 윈도우 일반 (2)
    • etc (2)
    • reference (2)
    • personal_reference (0)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바