이 방법은 위 두가지 방법과 달리 자바스크립트를 이용하는 것인데 새로운 창의 디폴트 속성을 사용하는 것이 아니고 속성을 변경한 브라우저 창을 띄우고 싶을 때 유용한 기능이다.

<SCRIPT>
function openTarget (objForm, strFeatures, strWindowName) {

// 새로운 창 이름이 없으면...
if (!strWindowName)
// formTarget이란 문자열에 현재 시간을 붙인 이름 부여
strWindowName = 'formTarget' + (new Date().getTime());

// 폼의 target 속성 부여
objForm.target = strWindowName;
open ('', strWindowName, strFeatures);
}
</SCRIPT>
...
...

<form name="myForm" method="post" action="formProcess.asp"
ONSUBMIT="openTarget(this, 'width=300,height=300,resizable=1,scrollbars=1'); return true;">
...
...
</form>


<form>의 onsubmit 이벤트 발생시 openTarget이란 사용자 정의 함수를 호출한다. 이 함수에서 새로운 창을 띄우는데 디폴트 창이 아니라 가로, 세로 크기 등을 조절한 창을 띄운다. 위의 openTarget이란 함수에서 가장 핵심은 objForm.target 부분이다. 즉 폼 객체의 target 속성에 새로운 창 이름을 지정해 주면 되는 것이다.

자바스크립트에서 새로운 창을 열 때의 속성에 대해 좀 더 자세히 알고 싶은 사람은 다음 글을 참고하기 바란다
Posted by Sting!

댓글을 달아 주세요

create table tablenameA(n int)

-------------------------------------------

declare @tablename sysname,@sql nvarchar(4000),@ret int

set @tablename = 'tablenameA'
set @sql = N'select @r = count(*) from ' + @tablename
exec sp_executesql @sql,N'@r int output',@r = @ret output

select @ret

/*
------------
0
(1 적용됨)
*/

Posted by Sting!

댓글을 달아 주세요

통상 form의 element에 접근하는 방식은

js를 사용하는 사람들 마다 다소 약간의 차이가 있습니다.

선호하는 코딩 스타일이 다르다는 소리죠

그렇지만 한가지 공통점은 어디서든 돌아가게 만들자~ 는게 목적 아닐까요?

javascript 에서 form 뿐만 아니라  document단의  element에 접근하는 방법은

계층적 접근에 대해서 약간 이해를 해야할 부분이 있습니다.

그럼 아래에 기본적인 형식을 이용해서 설명을 곁들여 보겠습니다.

-------------------------------------- 예제 코드1 --------------------------------------
<html>
  <head>
    <title>문서제목</title>
  </head>
  <body>
    <form name="wfm">
        <input type="text" name="lg"  /><br />
        <input type="password" name="lp" /><br />
        <input type="checkbox" name="auto" /><br />
        <input type="submit" value="전송"  />
    </form>
  </body>
</html>
------------------------------------------------------------------------------------------------
위와 같은 form이 있다고 가정 하겠습니다.

스크립트를 통해서 문서내의 특정 tag에 접근하는 규칙은 . 을 기준으로

계층적 구조로 접근하는 형식을 쓰는 것입니다.

쉬운예로
document.forms["wfm"].elements["lg"];
      문서  .        폼      .      객체

이해가 되시나요?

물론 폼을 거치지 않고 바로 접근하는 방법도 있습니다.

document.getElementById("id");
document.getElementsByName("name");
    문서  .      아이디 | 네임 객체지정;

이런 형식이 대표적인 예라고 보시면 됩니다.

get은 가져오다 라는 의미로 해석을 하시면 이해가 빠를것이라 생각됩니다.
엘리먼트의 아이디나 네임을 지정해서 해당객체를 지정하는 것입니다.

그럼 이런 형식의 접근을 이용한 실질적인 방법을 만들어 보겠습니다.

-------------------------------------- 예제 코드2 --------------------------------------
<html>
  <head>
    <title>문서제목</title>
  </head>
  <script language="javascript">
      function fm(){
          var obj = document.getElementById("sp");//span tag의 id를 이용한 접근
          var frm = document.forms["wfm"];//폼까지의 접근자를 지정
          for ( i=0; i < frm.length; i++){
          // form elements는 form의 배열형식으로도 접근 가능합니다.
              tc = "=\n\n"
              tc += "element type : " + frm[i].type + "\n\n"; //tc 변수에 문자열지정
              tc += "element name : " + frm[i].name + "\n\n";
              tc += "element value : " + frm[i].value + "\n\n";
              obj.innerText += tc;//지정된 id의 연결정보를 담고있는 obj변수에
              //innerText 를 이용하여 span tag영역안에 문자를 넣어라는 표현입니다.
          }
        return false;
      }
  </script>
  <body>
    <form name="wfm" onsubmit="return fm();">
        <input type="text" name="lg"  /><br />
        <input type="password" name="lp" /><br />
        <input type="checkbox" name="auto" value="1" /><br />
        <input type="submit" value="전송"  />
    </form>
    <span id="sp"></span>
  </body>
</html>
------------------------------------------------------------------------------------------------


실행된 결과물을 보시면

element type : text

element name : lg

element value :

element type : password

element name : lp

element value :

element type : checkbox

element name : auto

element value : 1

element type : submit

element name :

element value : 전송

이런 값이 출력됩니다.

단편적인 예를 들어 설명을 하였지만 javascript를 이용하여

window, document 등에 접근하는 형식 대동소이합니다.

forms[""], elements[""] 이런 내용은 하나의 형식입니다.

elements["string"] 이런 표현식은 form의 객체에 접근하는 경우에만

사용가능 합니다.

예제코드2에 사용된 onsubmit 이벤트핸들러에 대해서 말씀드리면

많은 초보자들이 <input type="button" value="전송" onclick="함수명()" />

이런식으로 사용하여 폼유효성 체크를 하고 js에서 form.submit();를 이용하여

form을 전송하는 것을 많이 보았습니다.

하지만 스쿨 팁텍에도 언젠가 올라온 내용이 있는데요

이런경우 form의 input field에서 enter를 입력하면 form이 submit 되는 현상을
보게 됩니다.

위 input field 예는 버튼을 클릭을 해야만 함수를 호출하게 되어 있습니다.

반면 onsubmit 이벤트 핸들러는 form이 submit 되는것을 인식합니다.

onsubmit = "return 함수명();"

이런식으로 사용하여 함수내에서 form의 입력된 정보에 유효성 검사를 하여

맞지 않을 경우 false를 return 하는 형식을 취해주면 form이 전송되는 것도

막을 수 있습니다. = "return  <- 이문장은 함수로 부터 되돌아 오는

값이 false가 아니면 submit을 시키겠다는 뜻입니다.

Posted by Sting!

댓글을 달아 주세요

유니코드(Unicode)

용어정리 2008. 1. 17. 12:44

유니코드(Unicode)는 전세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준이다. 유니코드 협회(Unicode Consortium)가 제정하며, 현재 최신판은 2006년 7월에 공개된 유니코드 5.0이다. 이 표준에는 ISO 10646 문자 집합, 문자 인코딩, 문자 정보 데이터베이스, 문자들을 다루기 위한 알고리즘 등이 포함된다.

유니코드의 목적은 현존하는 문자 인코딩 방법들을 모두 유니코드로 교체하려는 것이다. 기존의 인코딩들은 그 규모나 범위 면에서 한정되어 있고, 다국어 환경에서는 서로 호환되지 않는 문제점이 있었다. 유니코드가 다양한 문자 집합들을 통합하는 데 성공하면서 유니코드는 컴퓨터 소프트웨어국제화지역화에 널리 사용되게 되었으며, 비교적 최근의 기술인 XML, 자바, 그리고 최신 운영체제 등에서도 지원하고 있다.


역사

  • 1991년: 유니코드 1.0
  • 1993년: 유니코드 1.1
  • 1996년: 유니코드 2.0 ― 11172자의 모든 현대 한글이 포함되었다.
  • 1998년: 유니코드 2.1
  • 2000년: 유니코드 3.0
  • 2001년: 유니코드 3.1 ― 보조 평면들이 처음으로 소개되었다.
  • 2002년: 유니코드 3.2
  • 2003년: 유니코드 4.0
  • 2005년: 유니코드 4.1
  • 2006년: 유니코드 5.0 (문자 데이터베이스는 7월 18일에 발표되었으나 책은 11월 9일 출시)
  • 2008년: 유니코드 5.1 (2008년 초나 중반에 나올 것으로 추측)


유니코드 목록

유니코드 목록 (범위)
기본 다국어 평면 보조 다국어 평면 보조 상형 문자 평면 보조 특수 목적 평면
0000~0FFF
1000~1FFF
2000~2FFF
3000~3FFF
4000~4FFF
5000~5FFF
6000~6FFF
7000~7FFF
8000~8FFF
9000~9FFF
A000~AFFF
B000~BFFF
C000~CFFF
D000~DFFF
E000~EFFF
F000~FFFF
10000~10FFF

12000~12FFF




1D000~1DFFF
20000~20FFF
21000~21FFF
22000~22FFF
23000~23FFF
24000~24FFF
25000~25FFF
26000~26FFF
27000~27FFF
28000~28FFF
29000~29FFF
2A000~2AFFF




2F000~2FFFF
E0000~E0FFF








링크

Posted by Sting!

댓글을 달아 주세요

아스키(ASCII) 또는 미국 정보 교환 표준 부호(American Standard Code for Information Interchange)는 영문 알파벳을 사용하는 대표적인 문자 인코딩이다. 아스키는 컴퓨터와 통신 장비를 비롯한 문자를 사용하는 많은 장치에서 사용되며, 대부분의 문자 인코딩이 아스키에 기반한다.

아스키는 1967년에 표준으로 제정되어 1986년에 마지막으로 개정되었다. 아스키는 7비트 인코딩으로, 33개의 출력 불가능한 제어 문자들과 공백을 비롯한 95개의 출력 가능한 문자들로 이루어진다. 제어 문자들은 역사적인 이유로 남아 있으며 대부분은 더 이상 사용되지 않는다. 출력 가능한 문자들은 52개의 영문 알파벳 대소문자와, 10개의 숫자, 32개의 특수 문자, 그리고 하나의 공백 문자로 이루어진다.

아스키가 널리 사용되면서 다양한 아스키 기반의 확장 인코딩들이 등장했으며, 이들을 묶어서 아스키라고 부르기도 한다. 대표적으로 7비트 인코딩을 유지한 ISO/IEC 646과, 원래 아스키 코드 앞에 비트 0을 넣어 8비트 인코딩을 만든 IBM 코드 페이지ISO 8859가 있다. 이 인코딩들은 언어군에 따라 같은 숫자에 서로 다른 문자가 배당된 경우가 많다.

Posted by Sting!
TAG ASCII, 용어

댓글을 달아 주세요