티스토리 뷰

[01] Event의 처리 (CHECKBOX, RADIO)


     - 입력 값의 범위 지정.
     - 사용자는 시각적인 인터페이스로 사용이 편리.


 

1. split()함수를 이용하여 입력된 값을 분리하여 출력하는 스크립트를 작성하세요.
  - onload event: 페이지 로딩시 자동실행 함수 선언, BODY 태그 실행후 실행
  - 자바스크립트를 BODY태그 안에서 호출시 결과가 BODY태그안에 들어감


<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

</head>

<script type="text/javascript">

function searchW(){

var str = "기획자/설계자/개발자/디자이너";

var strout = "";

var strSplit = str.split('/');

alert('추출된 문자열 갯수: ' + strSplit.length);

// alert() -> window.alert() 

for(i = 0; i < strSplit.length; i++){

strout = strout + "▶ " + strSplit[i] + " ";

}

// document.write(strout); // BODY 태그의 내용이 전부 삭제됨.

 

    // 자바 스크립트의 출력은 태그를 검색후 태그에 문자열 형태로 값을 넘깁니다.

var panel = document.getElementById("panel");

panel.innerHTML = panel.innerHTML + "<br><br>" + strout;

}

</script>

<body onload="javascript:searchW();"> <!-- 페이지 시작 시 호출 -->

<div id = "panel">

종각부터 시청역 구간에 열차가 연착되고 있습니다.<br>

</div>


</body>

</html>




2. 파일의 확장자를 검사하는 함수

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function checkInput(word){
var ext = word.toLowerCase();                //대문자일 수도 있으므로 소문자로 미리 변경해 주었다

if(ext.lastIndexOf(".exe")>0){             //검색이되면 0보다 크거나 같은 값이 나오고 발견이 안되면 -1을 리턴함.
alert('파일의 확장자가 EXE인 것은 전송할 수 없습니다.');
return false;
}
if(ext.lastIndexOf(".jsp")>0){
alert('파일의 확장자가 jsp인 것은 전송할 수 없습니다.');
return false;
}
if(ext.lastIndexOf(".jpg")>0){
alert('파일의 확장자가 jpg인 이미지는 전송할 수 없습니다.');
return false;
}
alert('전송할 수 있는 파일 형식입니다.');
}
</script>
</head>
<body>
자바 스크립트 확장자 호출 테스트입니다.<br>
<script type="text/javascript">
while(true){
var filename = prompt('파일명을 입력하세요(종료는 999)');
if(filename == '999'){
break;
}
checkInput(filename);
}
document.write('사용해 주셔서 감사합니다.');
</script>
</body>
</html>




3. RADIO, CHECKBOX Type의 사용

   - CHECKBOX는 같은 이름을 사용가능하며 RADIO 타입처럼 배열로 태그의이름을 처리함.
 
>>>>> /event/radio.html


<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

<script type="text/javascript">

window.onload = function(){

document.frm.product[1].checked =true;

check(document.frm);

}

function check(f){

var wonkum = 0;

var dc = 0;

var selectedImage = 0;

var len = f.product.length;

if(f.product[0].checked == true){

wonkum = 1000000;

selectedImage = f.product[0].value;

}else if(f.product[1].checked == true){

wonkum = 700000;

selectedImage = f.product[1].value;

}else if(f.product[2].checked == true){

wonkum = 400000;

selectedImage = f.product[2].value;

}

dc = wonkum;

if ( f.check1.checked == true) { // 10%

dc = dc - (wonkum * parseFloat(f.check1.value));  // 0.1

}

if ( f.check2.checked == true) { // 5%

dc = dc - (wonkum * parseFloat(f.check2.value));  // 0.05

}

if ( f.check3.checked == true) { // 50%

dc = dc - (wonkum * parseFloat(f.check3.value));  // 0.5

}

f.orderval.value = wonkum;

f.discount.value = dc;

var imgStr = '';

if (selectedImage == 1){

imgStr = "<img src='./images/notebook1.jpg'>";

}else if (selectedImage == 2){

imgStr = "<img src='./images/notebook2.jpg'>";

}else if (selectedImage == 3){

imgStr = "<img src='./images/notebook3.jpg'>";

document.getElementById("panel").innerHTML = imgStr;

}

</script>

</head>

<body>

<H1>노트북</H1>

 

<DIV id="panel"></DIV>

 

<form name="frm">

[선택]

<INPUT type="radio" name="product" value="1" onclick="check(this.form);">고가제품

<INPUT type="radio" name="product" value="2" onclick="check(this.form);">중가제품

<INPUT type="radio" name="product" value="3" onclick="check(this.form);">저가제품

<br><br>

 

[할인율] 

<INPUT TYPE="checkbox" NAME="check1" value="0.1" onclick="check(this.form);">우수고객  

<INPUT TYPE="checkbox" NAME="check2" value="0.05" onclick="check(this.form);">장기고객  

<INPUT TYPE="checkbox" NAME="check3" value="0.5" onclick="check(this.form);">국가유공자  

<br><br>

 

[선택한 가격]<INPUT type="text" name="orderval"> <!-- 가격 출력 -->    

[할인된 가격]<INPUT type="text" name="discount"> <!-- 가격 출력 -->

</form>

</body>

</html>





댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/11   »
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
글 보관함