자바스크립트 입니다.
하나의 필드에 입력후 변환을 하면 나머지 필드를 채워줍니다.
단위변환계산기
<SCRIPT>
function convertform(form){
var firstvalue = 0;
for (var i = 1; i <= form.count; i++) {
// Find first non-blank entry
if (form.elements[i].value != null && form.elements[i].value.length != 0) {
// Verify that value is a number
for (var j = 0; j < form.elements[i].value.length; j++) {
var ch = form.elements[i].value.substring(j, j + 1)
if ((ch < "0" || "9" < ch) && ch != '.') {
alert(" 데이터 입력이 잘못되었음: " + form.elements[i].value);
clearform(form);
return false;
}
}
if (i == 1 && form.elements[2].value != "") return false;
firstvalue = form.elements[i].value / form.elements[i].factor;
break;
}
}
if (firstvalue == 0) {
clearform(form);
return false;
}
for (var i = 1; i <= form.count; i++) {
form.elements[i].value = firstvalue * form.elements[i].factor;
form.elements[i].value = formatvalue(form.elements[i].value, form.rsize);
}
return true;
}
function formatvalue(input, rsize) {
var invalid = "**************************";
var nines = "999999999999999999999999";
if (input.length <= rsize) return input;
if (strpos(input, 'e') != -1 ||
eval(input) > eval(nines.substring(0,rsize)+".4"))
return invalid.substring(0, rsize);
var rounded = "" + (eval(input) +
(eval(input) - eval(input.substring(0, rsize))));
return rounded.substring(0, rsize);
}
function strpos(str, ch) {
for (var i = 0; i < str.length; i++)
if (str.substring(i, i+1) == ch) return i;
return -1;
}
function resetform(form) {
clearform(form);
form[1].value = 1;
convertform(form);
return true;
}
function clearform(form) {
for (var i = 1; i <= form.count; i++) form[i].value = "";
return true;
}
</SCRIPT>
<font size = 4 color=#663311><b> 단위변환계산기</b></font>
<FORM >
<TABLE border=1 bgcolor =#d1e6cc cellspacing=0>
<TR>
<TD ALIGN=CENTER><small>미터</TD>
<TD ALIGN=CENTER><small>인치</TD>
<TD ALIGN=CENTER><small>피트</TD>
<TD ALIGN=CENTER><small>야드</TD>
<TD ALIGN=CENTER><small>마일</TD>
<TD ALIGN=CENTER><small>자</TD>
<TD><small><INPUT TYPE="button" VALUE="Clear" onclick="clearform(this.form)"></TD>
</TR>
<TR>
<TD><INPUT TYPE=TEXT NAME=val1 SIZE=6></TD>
<TD><INPUT TYPE=TEXT NAME=val2 SIZE=6></TD>
<TD><INPUT TYPE=TEXT NAME=val3 SIZE=6></TD>
<TD><INPUT TYPE=TEXT NAME=val4 SIZE=6></TD>
<TD><INPUT TYPE=TEXT NAME=val5 SIZE=6></TD>
<TD><INPUT TYPE=TEXT NAME=val6 SIZE=6></TD>
<TD><small><INPUT TYPE="button" VALUE="변환" onclick="convertform(this.form)"></TD>
</TR>
</TABLE>
</FORM>
<FORM>
<TABLE border=1 cellspacing=0 bgcolor =#d1e6cc>
<TR>
<TD ALIGN=CENTER><font size=2>킬로그램</TD>
<TD ALIGN=CENTER><small>온스</TD>
<TD ALIGN=CENTER><small>파운드</TD>
<TD ALIGN=CENTER><small>근</TD>
<TD ALIGN=CENTER><small>관</TD>
<TD ALIGN=CENTER><small>돈</TD>
<TD><small><INPUT TYPE="button" VALUE="Clear" onclick="clearform(this.form)"></TD>
</TR><TR>
<TD><INPUT TYPE=TEXT NAME=val1 SIZE=6></TD>
<TD><INPUT TYPE=TEXT NAME=val2 SIZE=6></TD>
<TD><INPUT TYPE=TEXT NAME=val3 SIZE=6></TD>
<TD><INPUT TYPE=TEXT NAME=val4 SIZE=6></TD>
<TD><INPUT TYPE=TEXT NAME=val5 SIZE=6></TD>
<TD><INPUT TYPE=TEXT NAME=val6 SIZE=6></TD>
<TD><small><INPUT TYPE="button" VALUE="변환" onclick="convertform(this.form)"></TD>
</TR>
</TABLE>
</FORM>
<FORM>
<TABLE border=1 cellspacing=0 bgcolor =#d1e6cc>
<TR>
<TD ALIGN=CENTER><small>m<sup>3</sup></TD>
<TD ALIGN=CENTER><small>리터</TD>
<TD ALIGN=CENTER><small>갤런</TD>
<TD ALIGN=CENTER><small>홉</TD>
<TD ALIGN=CENTER><small>되</TD>
<TD ALIGN=CENTER><small>말</TD>
<TD><small><INPUT TYPE="button" VALUE="Clear" onclick="clearform(this.form)"></TD>
</TR><TR>
<TD><INPUT TYPE=TEXT NAME=val1 SIZE=6></TD>
<TD><INPUT TYPE=TEXT NAME=val2 SIZE=6></TD>
<TD><INPUT TYPE=TEXT NAME=val3 SIZE=6></TD>
<TD><INPUT TYPE=TEXT NAME=val4 SIZE=6></TD>
<TD><INPUT TYPE=TEXT NAME=val5 SIZE=6></TD>
<TD><INPUT TYPE=TEXT NAME=val6 SIZE=6></TD>
<TD><small><INPUT TYPE="button" VALUE="변환" onclick="convertform(this.form)"></TD>
</TR>
</TABLE>
</FORM>
<FORM>
<TABLE border=1 cellspacing=0 bgcolor =#d1e6cc>
<TR>
<TD ALIGN=CENTER><small>m<sup>2</sup></TD>
<TD ALIGN=CENTER><small> 평</TD>
<TD ALIGN=CENTER><small>에이커</TD>
<TD ALIGN=CENTER><small>ft<sup>2</sup></TD>
<TD ALIGN=CENTER><small>yd<sup>2</sup></TD>
<TD ALIGN=CENTER width=55><small> </TD>
<TD><small><INPUT TYPE="button" VALUE="Clear" onclick="clearform(this.form)"></TD>
</TR><TR>
<TD><INPUT TYPE=TEXT NAME=val1 SIZE=6></TD>
<TD><INPUT TYPE=TEXT NAME=val2 SIZE=6></TD>
<TD><INPUT TYPE=TEXT NAME=val3 SIZE=6></TD>
<TD><INPUT TYPE=TEXT NAME=val4 SIZE=6></TD>
<TD><INPUT TYPE=TEXT NAME=val5 SIZE=6></TD>
<TD> </TD>
<TD><small><INPUT TYPE="button" VALUE="변환" onclick="convertform(this.form)"></TD>
</TR>
</TABLE>
</FORM>
<script>
document.forms[0].count = 6; // number of unit types
document.forms[0].rsize = 7; // Rounding size, use same as SIZE
document.forms[0].val1.factor = 1; //m
document.forms[0].val2.factor = 39.37007874; //in.
document.forms[0].val3.factor = 3.280839895; //ft.
document.forms[0].val4.factor = 1.093613298; // m to yards.
document.forms[0].val5.factor = 0.00062137119; //mi.
document.forms[0].val6.factor = 3.3; //nm.
document.forms[1].count = 7;
document.forms[1].rsize = 6;
document.forms[1].val1.factor = 1.000;
document.forms[1].val2.factor = 35.273944; //oz.
document.forms[1].val3.factor = 2.2046215; //lb.
document.forms[1].val4.factor = 1.6666; //근
document.forms[1].val5.factor = 0.26666; //관
document.forms[1].val6.factor = 266.6666; // 돈
document.forms[2].count = 6;
document.forms[2].rsize = 6;
document.forms[2].val1.factor = 1.000; // m3
document.forms[2].val2.factor = 1000; //리터
document.forms[2].val3.factor = 264.186; //갤론
document.forms[2].val4.factor = 5543.52; // 홉
document.forms[2].val5.factor = 554.325; //되
document.forms[2].val6.factor = 55.4325; //말
document.forms[3].count = 5;
document.forms[3].rsize = 6;
document.forms[3].val1.factor = 1.000; //m2
document.forms[3].val2.factor = 0.3025; //평
document.forms[3].val3.factor = 0.00024; //에이커
document.forms[3].val4.factor = 10.764; //ft2
document.forms[3].val5.factor = 1.1958; //yd2
</script>
</BODY>
'WEB > HTML/Css/Script' 카테고리의 다른 글
| Advanced CSS Layouts: Step by Step (0) | 2007/07/28 |
|---|---|
| 단위 변환 소스(출처 : 네이버) (1) | 2007/07/22 |
| 단위 변환 프로그램 (0) | 2007/07/22 |
| 나는 블로그/사이트의 실시간 접속자를 알고싶다. (0) | 2007/06/30 |
| 테두리가 둥근 테이블 생성 (0) | 2007/06/29 |
| 투명한 아이프레임 만들기 (0) | 2007/06/29 |




최근에 달린 댓글
링크
최근에 받은 트랙백
태그목록