728x90
반응형
728x90
반응형

윈도우 팝업을 이용해 개발하던 도중 아래와 같은 오류가 발생했습니다.

SCRIPT87: 잘못된 인수입니다.

 

크롬에서는 문제없지만 IE에서만 발생하는 오류.

[수정방법]
var a = "123-456";
a = a.replace('-', '_');

window.open(urlStr,a,popOption);

 

728x90
반응형
728x90
반응형

input text에서 한글 또는 영어로 디폴트 설정하고 싶을때가 있습니다.

input text창에 스타일 태그만 추가해주면 됩니다.

// 한글/영문
<input type='text' style="ime-mode:auto;">   

// 영문만
<input type='text' style="ime-mode:disabled;">

// 한글 (한글 / 영문 입력가능)
<input type='text' style="ime-mode:active;">

// 영문(한글 / 영문 입력가능)
<input type='text' style="ime-mode:inactive;">


728x90
반응형
728x90
반응형

 

window.open("URL" ,"새창이름", "옵션");


옵션
menubar=no  //메뉴바 없애기
toolbar=no // 툴바 없애기
location=no  //주소표시줄 없애기
status=no //상태표시줄 없애기
scrollbars=no //스크롤바 없애기
fullscreen //최대창크기로 열기 =>F11 눌린 크기이긴 하지만, F11과는 다른 기능임
width //가로크기
height //세로크기
top //위에서부터 위치
left //왼쪽에서부터 위치
resizable=no //창 크기 조절 금지

 


<input type="button" onclick="naverOpen()" value="네이버 열기"/>
<br>
<input type="button" onclick="daumOpen()" value="네이버 창에 다음 열기" target="네이버"/>
<br>
 
<script>
function naverOpen(){
	window.open("http://www.naver.com", "네이버", "top=100px, left=100px, height=800px, width=1200px");
}
function daumOpen(){
	window.open("http://www.daum.net", "네이버", "top=100px, left=100px, height=800px, width=1200px");
}
</script>

 

 

 

 

728x90
반응형
728x90
반응형

텍스트를 복사하는 기능에 대해 알아보겠습니다.

<!DOCTYPE html>
<html>
<head>
<title>Copy Test Page</title>
</head>
<body>


<script>
	// 클립보드로 복사하는 기능을 생성
	function clipBoard(elementId) {

  	// 글을 쓸 수 있는 란을 만든다.
  	var aux = document.createElement("input");
	
  	// 지정된 요소의 값을 할당 한다.
  	aux.setAttribute("value", document.getElementById(elementId).innerHTML);

  	// body에 추가.
  	document.body.appendChild(aux);

  	// 지정된 내용을 강조한다.
  	aux.select();

  	// 텍스트를 카피 하는 변수를 생성
  	document.execCommand("copy");

  	// body 로 부터 다시 반환 한다.
  	document.body.removeChild(aux);
  
  	//alert(aux.value);
  	alert("텍스트 복사에 성공 하였습니다.");
}
</script>


<!--복사할 텍스트 만들기-->
<p id="text">안녕하세요. 만나서 반갑습니다.</p>

<input type="button" onclick="clipBoard('text')" value="텍스트 복사하기"/>

<br/><br/>
<input placeholder="ctrl+v로 복사한 텍스트 붙여넣기" type="text" size=30/>


</body>
</html>




안녕하세요. 만나서 반갑습니다.





728x90
반응형
728x90
반응형

html 내에서 텍스트만 가져오고 싶은 경우가 있습니다.

이때는 정규식을 사용하면 되는데요.

바로 알아보겠습니다.

 

var content = "<html><body><b>aaaaa</b></body></html>";
var text = content.replace(/(<([^>]+)>)/ig,"");
console.log(text);
console.log(text.length);

 

특정 태그(b, table, div... 등)만 제거를 하고 싶다면 위 정규식을 변경해주면 됩니다.

var text = editorContent.replace(/<(\/table|table)([^>]*)>/gi,"");
728x90
반응형
728x90
반응형

자바스크립트에서 Contextpath 가져오는 함수에 대해 알아보려고 합니다.

먼저 ContextPath란 http://127.0.0.1:80/animal/login.jsp라는 url에서 

animal이 ContextPath를 의미합니다.

 

아래 함수를 사용하시면 ContextPath를 값을 가져오실 수 있습니다.

function getContextPath() {
    var hostIndex = location.href.indexOf( location.host ) + location.host.length;
    return location.href.substring( hostIndex, location.href.indexOf('/', hostIndex + 1) );
}

728x90
반응형
728x90
반응형

사용자가 input text에 값을 입력할 때 숫자가 한자리인 경우 0을 자동으로 넣어주는 함수를 공유하고자 합니다.

해당 함수를 사용하는 예로는 월을 입력할 때 1~9월인 경우 숫자 앞에 0을 붙일 수 있고(01월, 02월.. 등), 시간이나 분을 입력할 경우(01시, 02시... 등)에도 함수를 사용할 수 있습니다. 

예제를 통해 바로 알아보겠습니다.

zeroFill함수에서 this는 값을 위함이고, 2는 자릿수 입니다.

예를 들어 01, 02의 값이 아닌 001, 002을 채우고자 한다면 3으로 변경해서 사용해주시면 될 것 같습니다.

 

<input type="text" id="test" maxlength="2" onblur="zeroFill(this, 2);" />

 

<script>

//숫자가 한자리인 경우 0 붙이기
function zeroFill(target, width) {
  var n = target.value;
  var id = target.id;
  n = n + "";
  if(n.length >= width){
   document.getElementById(id).value = n;
  }else{
   document.getElementById(id).value = new Array(width - n.length + 1).join('0') + n;
  }
}

</script>

 


테스트 한번 해보세요.

1) 숫자 2자리

2) 숫자 3자리

728x90
반응형
728x90
반응형

라디오 버튼을 눌러야 체크 되지만 버튼 옆 글자를 선택한다면 클릭 범위가 넓어져 사용자들이 사용하기에 편리하겠죠.

라디오 버튼 옆 글자를 클릭해도 라디오 버튼이 선택되는 방법에 대해 알아보겠습니다.



라벨 사용하기 전


바나나
사과
오렌지


바나나
사과
오렌지

라벨 사용 후 










<label> 태그로 감싸주면 text를 클릭해도 라디오 버튼이 선택될 수 있습니다.

추가로 style 속성으로 커서모양을 바꿔주어 더 보기 좋게 수정하였습니다.

728x90
반응형
728x90
반응형

+ Recent posts