问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

javascript的一个网页按钮代码

发布网友 发布时间:2022-04-21 23:07

我来回答

4个回答

热心网友 时间:2022-04-22 00:37

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>功、能和热量单位计量单位换算器</title>

<style>

input{border:1px solid #ccc;padding:4px 8px;}

input.cz,input.hs{background:#f1f1f1;}

</style>

</head>

<body style="font-size:12px;">

<div align="center">

<div id="result">

<table width="600" cellpadding=2 cellspacing=0 style="font-size:12px;">

<tr><td>

<script language="javascript" type="text/javascript">

function HEAT_MEASURES() {

this.Joule = 1

this.Kgm = 0.08598452278

this.Psh = 60.2409638554

this.Hph = 85.98452278

this.Kwh = 3599712.023038157

this.Kcal = 4185.851820846

this.Btu = 1055.0749103

this.Ftlb = 1.3557483731

}

var heat_data = new HEAT_MEASURES();

function checkNum(str) {

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

var ch = str.substring(i, i + 1)

if (ch!="." && ch!="+" && ch!="-" && ch!="e" && ch!="E" && (ch < "0" || ch > "9")) {

alert("请输入有效的数字");

return false;

}

}

return true

}

function normalize(what,digits) {

var str=""+what;

var pp=Math.max(str.lastIndexOf("+"),str.lastIndexOf("-"));

var idot=str.indexOf(".");

if (idot>=1) {

var ee=(pp>0)?str.substring(pp-1,str.length):"";

digits+=idot;

if (digits>=str.length)

return str;

if (pp>0 && digits>=pp)

digits-=pp;

var c=eval(str.charAt(digits));

var ipos=digits-1;

if (c>=5) {

while (str.charAt(ipos)=="9")

ipos--;

if (str.charAt(ipos)==".") {

var nc=eval(str.substring(0,idot))+1;

if (nc==10 && ee.length>0) {

nc=1;

ee="e"+(eval(ee.substring(1,ee.length))+1);

}

return ""+nc+ee;

}

return str.substring(0,ipos)+(eval(str.charAt(ipos))+1)+ee;

}

else

var ret=str.substring(0,digits)+ee;

for (var i=0; i<ret.length; i++)

if (ret.charAt(i)>"0" && ret.charAt(i)<="9")

return ret;

return str;

}

return str;

}

function compute(obj,val,data) {

if (obj[val].value) {

var uval=0;

uval = obj[val].value*data[val];

if( (uval >= 0) && (obj[val].value.indexOf("-") != -1) ) {

uval = -uval;

}

for (var i in data)

obj[i].value=normalize(uval/data[i],3);

}

}

function resetValues(form,data) {

for (var i in data)

form[i].value="";

}

function resetAll(form) {

resetValues(form,heat_data);

}

</script>

<table class="tb" cellpadding="4" cellspacing="5" width=500 align="center">

<tbody>

<form action="" id="dwhsfrom">

<tr height=10><td colspan=6><p style="text-align:center;font-size:16px;font-weight:bold;">单 位 换 算</p></td></tr>

<tr>

<td align=right nowrap>万大卡(10<sup>4</sup>kal)</td>

<td align=left><input name=Joule size="12" id="Joule"></td>

<td align=left><input class="hs" onClick="if (checkNum(Joule.value)) compute(this.form,Joule.name,heat_data)" type=button value="换算" name=Joule_bt></td>

<td align=right nowrap>千瓦(kw)</td>

<td align=left><input name=Kgm size="12"></td>

<td align=left><input class="hs" onClick="if (checkNum(Kgm.value)) compute(this.form,Kgm.name,heat_data)" type=button value="换算" name=Kgm_bt></td>

</tr>

<tr>

<td align=right nowrap>吨蒸发量</td>

<td align=left><input name=Psh size="12"></td>

<td align=left><input class="hs" onClick="if (checkNum(Psh.value)) compute(this.form,Psh.name,heat_data)" type=button value="换算" name=Psh_bt></td>

<td align=right nowrap>兆瓦(mw)</td>

<td align=left><input name=Hph size="12"></td>

<td align=left><input class="hs" onClick="if (checkNum(Hph.value)) compute(this.form,Hph.name,heat_data)" type=button value="换算" name=Hph_bt></td>

</tr>

<tr height=10><td colspan=6><hr style="border-style: dotted;margin-top:30px;" color=#cccccc size=1 /></td></tr>

<tr>

<td align=center colspan=6><input class="cz" type=button value="数据换算" onclick="dodoStartProcessIt()">    <input class="cz" onClick=resetAll(this.form) type=button value="重置" name=res7></td>

</tr>

</form>

</tbody>

</table>

</td></tr></table>
<script type="text/javascript">
<!--
function dodoStartProcessIt()
{
var Joule = document.getElementById("Joule");
var Kgm = document.getElementById("Kgm");
var Psh = document.getElementById("Psh");
var Hph = document.getElementById("Hph");
if (checkNum(Joule.value)) compute(this.form,Joule.name,heat_data); else {return;}
if (checkNum(Kgm.value)) compute(this.form,Kgm.name,heat_data); else {return;}
if (checkNum(Psh.value)) compute(this.form,Psh.name,heat_data); else {return;}
if (checkNum(Hph.value)) compute(this.form,Hph.name,heat_data); else {return;}
}
//-->
</script>
</body>

</html>

热心网友 时间:2022-04-22 01:55

楼上的测试了吗?你写的不能用,点击报错

我写了个,在LZ原来的基础上增加了一处,改动了一处:

1.将<INPUT class=cz type=button value=数据换算>这个按钮家onclick事件,
改为<INPUT class=cz type=button value=数据换算 onClick="chhs(this.form,Joule,Kgm,Psh,Hph)">

2.在js中加chhs方法:
function chhs(obj,o1,o2,o3,o4) {
if(checkNum(o1.value))
compute(obj,o1.name,heat_data);
if(checkNum(o2.value))
compute(obj,o2.name,heat_data);
if(checkNum(o3.value))
compute(obj,o3.name,heat_data);
if(checkNum(o4.value))
compute(obj,o4.name,heat_data);
}
这样就OK了,经测试可用,自认为已经是最简洁的方案,但不是最完美,因为计算一次后如果想计算第二次就必须把数据先清空,所以仅供LZ参考。
LZ原文中还有报错,大概是for循环引起的,但是不影响功能使用。

热心网友 时间:2022-04-22 03:29

没看清题目,后面的继续

热心网友 时间:2022-04-22 05:21

具体代码就不写啦,有个笨方法,判断四个文本框,判断一下如果第一个不为空剩下的全为空,则执行第一个function 下面的类似,你可以试试,你明白的话我们可以再交流一下
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
2198香辣虾是什么意思 虾什么梗 肖战 刻纸制作需要哪些步骤 好玩的生存游戏手游(好玩的生存游戏手游推荐) 北京电脑职业培训学校都有哪些北京电脑培训班都有哪些 欧盟商标注册需要提供什么资料? 怎么注册欧盟商标?需要准备哪些材料? 5g手机有什么好处 5g手机大概多少钱 口水臭是什么原因呢? 口水臭是什么原因 口水臭怎么改善 在显微镜下能看到某种霉菌的直立菌丝顶端呈扫帚状结构,其分支上排列着成串的孢子,这种霉菌是(  )A 细菌、霉菌及病毒要用显微镜才能看清楚,所以把它们通常称作什么 紫光灯能看见黄曲霉菌吗 生活中有哪些地方看到过霉菌请举例说明? 霉菌用什么镜能发现 霉菌孢子肉眼能看到吗 霉菌需要多少倍的显微镜才可以看清 企及的反义词是什么? 医院用的一千多元显微镜能看见滴虫和霉菌,微生物吗? 在肉眼下能看到细菌放线菌霉菌酵母菌吗 霉菌是一种微生物往往要借助显微镜才能看得清对还是错? 80倍显微镜看到霉菌吗 霉菌的菌丝肉眼能看到吗 难以企及是啥意思 功夫茶的泡茶工序有 霉菌能用肉眼看到吗 企极是什么意思 沧州明珠商贸城到吴桥的物流有哪些 明天上班限行,过年这几天,沧州这么多人被拘留了 郜艳敏现状 海尔幂动力技术洗衣机洗涤洗衣效果怎么样? 平板投屏直播伴侣怎样调屏幕 使用投影时钟 谁知道好时达 HSD1137A 投影时钟怎么调吗 好时达HSD128A 投影时钟使用说明书 坐公交时上车用支付宝本地城市电子公交刷二维码,下车忘刷二维码了,会怎么扣费? 点击按钮进入网站的js代码 手机卡自动锁了怎么回事 非全会计专硕好考吗 那位知道大连甘井子区19中的初中校服那里有卖的啊 大连市嘉惠阳光高中校服 大连十三中学好还是四十七中学好啊? 推荐几本linux下学习C语言编程的书,最好实际应用案例丰富的书。谢谢; 寻找linux c编程书籍 沈阳去隔离酒店会提前通知吗 丸九鲤鱼饵料配方 丸九鱼饵钓鲤鱼配方 池塘中养殖丸九鲤鱼,钓鱼饵料可以用什么东西? 求丸九系列鲤鱼饵料搭配方法。 秋季丸九鲤鱼饵料怎么配请高手指点一下