오늘은 자바스크립트에서 정수부 또는 소수점  반올림 관련 함수에 대해 설명하고자 합니다.


당연히 Math.round 함수를 사용하면 되지만 좀 더 경우의 수가 많은 경우에도 문제없이 사용하려면 좀 다듬어서 함수를 만들어서 사용해야 합니다.



* 소스코드


// n : 수치

// digits : 자를 소수점 자리수

function RoundXL(n, digits) {


var str_n = String(n); //숫자를 스트링으로 변환 

str_n = replaceAll(str_n, ",", "");

var float_n = parseFloat(str_n);


        // 소수부 반올림

if (digits >= 0) return parseFloat(float_n.toFixed(digits)); 


        // 정수부 반올림 ( digit값이 - 이면 정수부 상위 부분이 반올림 )

digits = Math.pow(10, digits); 

var t = Math.round(float_n * digits) / digits;


return parseFloat(t.toFixed(0));

}


* 사용법


var aa = RoundXL(123,456, 2);    // result : 123.46

var aa = RoundXL(123,456, -1);   // result : 120



이 함수만 있으면 소수점이든, 정수든 원하는 위치에서 반올림이 가능합니다.















오늘은 자바스크립트에서 DoModal 을 사용하는 방법에 대해 설명하고자 합니다.


C++ 에서는 DoModal 함수가 있어서 Modal 방식의 창을 띄울 수 있는데


자바스크립트에서도 그와 같은 함수가 있습니다.


showModalDialog 라는 함수입니다. 이 함수를 좀더 쉽게 다룰 수 있도록 함수화 해서 만든게 있어서 알려드립니다. (IE기준)


* 소스코드


// parm_url : 호출할 페이지

// w : 가로크기 (px)

// h : 세로크기 (px)

function DoModal(parm_url, w, h)

{

var pop_layer = null;

var is_style="edge:raised;center:yes; dialogwidth:"+w+"px; dialogheight:"+h+"px; scroll:yes; resizable:no; status:no; select:yes;"; 

        // 창 틀의 두께를 의미하며, sunken이 두텁고, raised가 얇음. 

return showModalDialog(parm_url, window, is_style);

}


* 사용법


var mm = DoModal('modal.asp', 300, 400);


위 함수처럼 사용하시면 쉽게 모달을 구현할 수 있습니다.










오늘은 선택된 radio 항목의 value 값을 찾을 때 사용하는 함수를 설명하고자 합니다.


많이 사용하는 방식이지만 막상 직접 짜려면 귀찮기 때문에 라이브러리 형태로 만든 뒤 사용하면 편할 것 같습니다.


* 함수


function GetCheckedValue(parm_obj)

{

var checked_val = "";

for(var js_i=0; js_i<parm_obj.length; js_i++){

if(parm_obj[js_i].checked){

checked_val = parm_obj[js_i].value; break;

}

}

return checked_val;

}



* 사용법

var read_val = GetCheckedValue(document.write_form.f_radio);



GetCheckedValue 을 라이브러리 js 에 넣어놓고 사용하면 편합니다.










오늘은 자바스크립트에서 통상적으로 많이 사용하는 방식 중에


입력칸 (text) 에 값이 없을 때 원하는 메세지를 띄우고 해당 칸에 커서를 가는 방법을 하나의 함수로 묶어서 사용하는 함수를 소개하고자 합니다.


이미 알고 있을 내용을 조합해서 쉽게쉽게 쓰고자 하는 라이브러리라 생각됩니다.


* 함수


// parm_obj :form object

// parm_msg : 미입력 시 띄울 메세지

// parm_focus_skip : 포커스를 갈지 안갈지 유무

function NullCheckMessage(parm_obj, parm_msg, parm_focus_skip)

{

var obj = parm_obj;

if(obj.value==""){

alert(parm_msg);

if(parm_focus_skip != "skip") obj.focus();

return 0;

}

return 1;

}


* 사용법

var f = document.write_form;

if( !NullCheckMessage(f.f_id, "아이디를 입력해 주세요.", "") ) return;    // if 앞에 ! 주의



자바스크립트 사용할 때 NullCheckMessage 함수 하나로 쉽게쉽게 처리가 됩니다.~^^


참고로 포커스(focus)가 갈수 없는 object 일 경우 "skip" 을 넣어서 .focus 을 하지 않도록 하면 됩니다.


if( !NullCheckMessage(f.f_id, "아이디를 입력해 주세요.", "skip") ) return;







+ Recent posts